]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Introduce vm_page_astate.
authorMark Johnston <markj@FreeBSD.org>
Tue, 10 Dec 2019 18:14:50 +0000 (18:14 +0000)
committerMark Johnston <markj@FreeBSD.org>
Tue, 10 Dec 2019 18:14:50 +0000 (18:14 +0000)
commit5cff1f4dc3b22c87bfba0a7ac91e8857dc091a60
treeefe1015a11bbfef853c9271cc19c28c6357423b3
parentbe35d6745b4222c99587c0c1187259be94f615b9
Introduce vm_page_astate.

This is a 32-bit structure embedded in each vm_page, consisting mostly
of page queue state.  The use of a structure makes it easy to store a
snapshot of a page's queue state in a stack variable and use cmpset
loops to update that state without requiring the page lock.

This change merely adds the structure and updates references to atomic
state fields.  No functional change intended.

Reviewed by: alc, jeff, kib
Sponsored by: Netflix, Intel
Differential Revision: https://reviews.freebsd.org/D22650
24 files changed:
sys/amd64/amd64/pmap.c
sys/amd64/include/pmap.h
sys/arm/include/pmap.h
sys/arm64/arm64/pmap.c
sys/arm64/include/pmap.h
sys/dev/virtio/balloon/virtio_balloon.c
sys/i386/i386/pmap.c
sys/i386/include/pmap.h
sys/mips/include/pmap.h
sys/mips/mips/pmap.c
sys/powerpc/aim/mmu_oea.c
sys/powerpc/aim/mmu_oea64.c
sys/powerpc/include/pmap.h
sys/riscv/include/pmap.h
sys/riscv/riscv/pmap.c
sys/sparc64/include/pmap.h
sys/vm/memguard.c
sys/vm/swap_pager.c
sys/vm/vm_mmap.c
sys/vm/vm_object.c
sys/vm/vm_page.c
sys/vm/vm_page.h
sys/vm/vm_pageout.c
sys/vm/vm_swapout.c