Skip to content
  • Jeff Roberson's avatar
    Add a deferred free mechanism for freeing swap space that does not require · a8081778
    Jeff Roberson authored
    an exclusive object lock.
    
    Previously swap space was freed on a best effort basis when a page that
    had valid swap was dirtied, thus invalidating the swap copy.  This may be
    done inconsistently and requires the object lock which is not always
    convenient.
    
    Instead, track when swap space is present.  The first dirty is responsible
    for deleting space or setting PGA_SWAP_FREE which will trigger background
    scans to free the swap space.
    
    Simplify the locking in vm_fault_dirty() now that we can reliably identify
    the first dirty.
    
    Discussed with:	alc, kib, markj
    Differential Revision:	https://reviews.freebsd.org/D22654
    a8081778