git: 774abe650b84 - stable/13 - Modernize geom_stats_snapshot_get
Alan Somers
asomers at FreeBSD.org
Thu Apr 8 02:17:23 UTC 2021
The branch stable/13 has been updated by asomers:
URL: https://cgit.FreeBSD.org/src/commit/?id=774abe650b840a753bdddbd8cf0bee0a72132009
commit 774abe650b840a753bdddbd8cf0bee0a72132009
Author: Alan Somers <asomers at FreeBSD.org>
AuthorDate: 2021-03-03 20:06:38 +0000
Commit: Alan Somers <asomers at FreeBSD.org>
CommitDate: 2021-04-08 02:15:39 +0000
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.
Sponsored by: Axcient
Reviewed by: phk
Differential Revision: https://reviews.freebsd.org/D29047
(cherry picked from commit f05b724ecb310fb91da1947ae6c68647f58f5f12)
---
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;
More information about the dev-commits-src-branches
mailing list