git: kernel - VM rework part 21 - Fix excessive paging to swap bug

Matthew Dillon dillon at crater.dragonflybsd.org
Fri Jun 28 15:42:47 PDT 2019


commit 2aa63302a428b68c2ebab621771aaf0d21bb6370
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Fri Jun 28 15:35:18 2019 -0700

    kernel - VM rework part 21 - Fix excessive paging to swap bug
    
    * Fix a bug where pages on the inactive queue would sometimes not
      get moved to the cache queue after being paged out, and also not
      get its [M]odify bit cleared, causing the pageout demon to repeatedly
      write numerous pages out without making progress.
    
      This may require some additional work to avoid a double-pageout
      condition, but it fixes the main issue.
    
    * Returns us back to the 'feel' of paging prior to the VM rework,
      and should reduce stuttering in chrome and other paging-related lag
      users might experience.
    
      The bug was introduced due to differences in how the pmap code
      handle vm_page_protect(..., VM_PROT_READ).

Summary of changes:
 sys/vm/vm_pageout.c | 72 ++++++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 57 insertions(+), 15 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/2aa63302a428b68c2ebab621771aaf0d21bb6370


-- 
DragonFly BSD source repository



More information about the Commits mailing list