Skip to content
  • Jeff Roberson's avatar
    Make page busy state deterministic on free. Pages must be xbusy when · 3cf3b4e6
    Jeff Roberson authored
    removed from objects including calls to free.  Pages must not be xbusy
    when freed and not on an object.  Strengthen assertions to match these
    expectations.  In practice very little code had to change busy handling
    to meet these rules but we can now make stronger guarantees to busy
    holders and avoid conditionally dropping busy in free.
    
    Refine vm_page_remove() and vm_page_replace() semantics now that we have
    stronger guarantees about busy state.  This removes redundant and
    potentially problematic code that has proliferated.
    
    Discussed with:	markj
    Reviewed by:	kib
    Differential Revision:	https://reviews.freebsd.org/D22822
    3cf3b4e6