HomeFreeBSD

(3/6) Add a shared object busy synchronization mechanism that blocks new page

Description

(3/6) Add a shared object busy synchronization mechanism that blocks new page
busy acquires while held.

This allows code that would need to acquire and release a very large number
of page busy locks to use the old mechanism where busy is only checked and
not held. This comes at the cost of false positives but never false
negatives which the single consumer, vm_fault_soft_fast(), handles.

Reviewed by: kib
Tested by: pho
Sponsored by: Netflix, Intel
Differential Revision: https://reviews.freebsd.org/D21592

Details

Provenance
jeffAuthored on Oct 15 2019, 3:41 AM
Parents
rG8da1c0985381: (2/6) Don't release xbusy in vm_page_remove(), defer to vm_page_free_prep().
Branches
Unknown
Tags
Unknown

Event Timeline