From f05b724ecb310fb91da1947ae6c68647f58f5f12 Mon Sep 17 00:00:00 2001 From: Alan Somers Date: Wed, 3 Mar 2021 13:06:38 -0700 Subject: [PATCH] Modernize geom_stats_snapshot_get * A logically useless memset() is used to fault in some memory pages. Change it to explicit_bzero so the compiler won't eliminate it. * Eliminate the second memset. It made sense in the days of the Big Kernel Lock, but not in the days of fine-grained SMP and especially not in the days of VDSO. MFC after: 2 weeks Sponsored by: Axcient Reviewed by: phk Differential Revision: https://reviews.freebsd.org/D29047 --- lib/libgeom/geom_stats.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/libgeom/geom_stats.c b/lib/libgeom/geom_stats.c index 450ee491ea1c..7c9191e29686 100644 --- a/lib/libgeom/geom_stats.c +++ b/lib/libgeom/geom_stats.c @@ -136,9 +136,8 @@ geom_stats_snapshot_get(void) free(sp); return (NULL); } - memset(sp->ptr, 0, pagesize * npages); /* page in, cache */ + explicit_bzero(sp->ptr, pagesize * npages); /* page in, cache */ clock_gettime(CLOCK_REALTIME, &sp->time); - memset(sp->ptr, 0, pagesize * npages); /* page in, cache */ memcpy(sp->ptr, statp, pagesize * npages); sp->pages = npages; sp->perpage = spp;