diff options
author | Matt Macy <mmacy@FreeBSD.org> | 2018-07-06 02:06:03 +0000 |
---|---|---|
committer | Matt Macy <mmacy@FreeBSD.org> | 2018-07-06 02:06:03 +0000 |
commit | ab3059a8e7f382cff93dbe4d1b082adf62f4d849 (patch) | |
tree | 07b63f9da9282cc1b73ec6d51ce3988dbc08875f /sys/kern/subr_counter.c | |
parent | 88171893e296f0c142cc7ee55db6244d2f6e76be (diff) | |
download | src-ab3059a8e7f382cff93dbe4d1b082adf62f4d849.tar.gz src-ab3059a8e7f382cff93dbe4d1b082adf62f4d849.zip |
Notes
Diffstat (limited to 'sys/kern/subr_counter.c')
-rw-r--r-- | sys/kern/subr_counter.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/sys/kern/subr_counter.c b/sys/kern/subr_counter.c index e93587c95e6b..30857a9989f4 100644 --- a/sys/kern/subr_counter.c +++ b/sys/kern/subr_counter.c @@ -42,7 +42,16 @@ __FBSDID("$FreeBSD$"); #define IN_SUBR_COUNTER_C #include <sys/counter.h> - + +static void +counter_u64_zero_sync(counter_u64_t c) +{ + int cpu; + + CPU_FOREACH(cpu) + *(uint64_t*)zpcpu_get_cpu(c, cpu) = 0; +} + void counter_u64_zero(counter_u64_t c) { @@ -64,7 +73,7 @@ counter_u64_alloc(int flags) r = uma_zalloc_pcpu(pcpu_zone_64, flags); if (r != NULL) - counter_u64_zero(r); + counter_u64_zero_sync(r); return (r); } |