]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Introduce vm_page_astate.
authormarkj <markj@FreeBSD.org>
Tue, 10 Dec 2019 18:14:50 +0000 (18:14 +0000)
committermarkj <markj@FreeBSD.org>
Tue, 10 Dec 2019 18:14:50 +0000 (18:14 +0000)
commite0995c18f647f9b974fb815174e7699766f460fb
treeefe1015a11bbfef853c9271cc19c28c6357423b3
parentdeefaecc7e6697f064f3d1ba0a2a2c3dfa3f10e1
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