diff options
author | Jeff Roberson <jeff@FreeBSD.org> | 2018-02-12 22:53:00 +0000 |
---|---|---|
committer | Jeff Roberson <jeff@FreeBSD.org> | 2018-02-12 22:53:00 +0000 |
commit | e958ad4cf3cc9e2624eba7634b972c18d5079a83 (patch) | |
tree | a8e1202a0bea71fdfbe01e46adc415772d0f708c /sys/i386 | |
parent | 487340b00406d7e8fc8e4963e130c3919102076b (diff) | |
download | src-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.c | 2 |
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); } /* |