The recent change to make vmobjlock & friends into RW locks is still a bit useless because while PG_BUSY can be observed or held off while holding a RW_READER lock, nothing can be done if it's set. To fix that I'd like to change it so that the WANTED flag is stored in pg->pqflags and covered by pg->interlock.
>From there it's not huge strech to imagine how you might do basic page fault handing for already in-core pages while holding only a read lock. http://www.netbsd.org/~ad/2020/wanted.diff Comments? Thanks, Andrew