Date: Fri, 17 Jan 2020 04:12:03 +0000 (UTC) From: Alexander Motin <mav@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r356824 - stable/11/sys/dev/md Message-ID: <202001170412.00H4C3N3088368@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mav Date: Fri Jan 17 04:12:03 2020 New Revision: 356824 URL: https://svnweb.freebsd.org/changeset/base/356824 Log: MFC r356315: Avoid duplicate I/O statistics accounting. Alike to geom_disk free the provider statistics structure and point GEOM toward local statistics. It allows to save some CPU time. Modified: stable/11/sys/dev/md/md.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/md/md.c ============================================================================== --- stable/11/sys/dev/md/md.c Fri Jan 17 04:11:17 2020 (r356823) +++ stable/11/sys/dev/md/md.c Fri Jan 17 04:12:03 2020 (r356824) @@ -1249,6 +1249,8 @@ mdinit(struct md_s *sc) gp = g_new_geomf(&g_md_class, "md%d", sc->unit); gp->softc = sc; pp = g_new_providerf(gp, "md%d", sc->unit); + devstat_remove_entry(pp->stat); + pp->stat = NULL; pp->flags |= G_PF_DIRECT_SEND | G_PF_DIRECT_RECEIVE; pp->mediasize = sc->mediasize; pp->sectorsize = sc->sectorsize; @@ -1264,10 +1266,11 @@ mdinit(struct md_s *sc) } sc->gp = gp; sc->pp = pp; - g_error_provider(pp, 0); - g_topology_unlock(); sc->devstat = devstat_new_entry("md", sc->unit, sc->sectorsize, DEVSTAT_ALL_SUPPORTED, DEVSTAT_TYPE_DIRECT, DEVSTAT_PRIORITY_MAX); + sc->devstat->id = pp; + g_error_provider(pp, 0); + g_topology_unlock(); } static int
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202001170412.00H4C3N3088368>