Introduce dummy pagers for 'special' subsystems using UVM objects.
authormpi <mpi@openbsd.org>
Sun, 5 Sep 2021 11:44:46 +0000 (11:44 +0000)
committermpi <mpi@openbsd.org>
Sun, 5 Sep 2021 11:44:46 +0000 (11:44 +0000)
commit94151407c9d6e6f1c07fe806c570e103e2ee8d67
treec482484e20e8a146f099caf25ae8c4164f3403d7
parent5e788324c9fd320d7645d91a7606f0307d12d27b
Introduce dummy pagers for 'special' subsystems using UVM objects.

Some pmaps (x86, hppa) and the buffer cache rely on UVM objects to allocate
and manipulate pages.  These objects should not be manipulated by uvm_fault()
and do not currently require the same locking enforcement.

Use the dummy pagers to explicitly document which UVM functions are meant to
manipulate UVM objects (uobj) that do not need the upcoming `vmobjlock' and
instead still rely on the KERNEL_LOCK().

Tested by many as part of a larger diff.

ok kettenis@, beck@
sys/arch/amd64/amd64/pmap.c
sys/arch/hppa/hppa/pmap.c
sys/arch/i386/i386/pmap.c
sys/kern/vfs_bio.c
sys/kern/vfs_biomem.c
sys/uvm/uvm_object.c
sys/uvm/uvm_object.h
sys/uvm/uvm_page.c