aboutsummaryrefslogtreecommitdiff
path: root/sys/i386
diff options
context:
space:
mode:
authorJeff Roberson <jeff@FreeBSD.org>2018-02-12 22:53:00 +0000
committerJeff Roberson <jeff@FreeBSD.org>2018-02-12 22:53:00 +0000
commite958ad4cf3cc9e2624eba7634b972c18d5079a83 (patch)
treea8e1202a0bea71fdfbe01e46adc415772d0f708c /sys/i386
parent487340b00406d7e8fc8e4963e130c3919102076b (diff)
downloadsrc-e958ad4cf3cc9e2624eba7634b972c18d5079a83.tar.gz
src-e958ad4cf3cc9e2624eba7634b972c18d5079a83.zip
Make v_wire_count a per-cpu counter(9) counter. This eliminates a
significant source of cache line contention from vm_page_alloc(). Use accessors and vm_page_unwire_noq() so that the mechanism can be easily changed in the future. Reviewed by: markj Discussed with: kib, glebius Tested by: pho (earlier version) Sponsored by: Netflix, Dell/EMC Isilon Differential Revision: https://reviews.freebsd.org/D14273
Notes
Notes: svn path=/head/; revision=329187
Diffstat (limited to 'sys/i386')
-rw-r--r--sys/i386/i386/pmap.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/i386/i386/pmap.c b/sys/i386/i386/pmap.c
index 517f3e89a529..092c2f9909cc 100644
--- a/sys/i386/i386/pmap.c
+++ b/sys/i386/i386/pmap.c
@@ -1718,7 +1718,7 @@ pmap_free_zero_pages(struct spglist *free)
/* Preserve the page's PG_ZERO setting. */
vm_page_free_toq(m);
}
- atomic_subtract_int(&vm_cnt.v_wire_count, count);
+ vm_wire_sub(count);
}
/*