git: kernel - Scan more pages in vm_pageout to fix OOM killer

Matthew Dillon dillon at crater.dragonflybsd.org
Thu Jun 9 11:54:16 PDT 2016


commit 1f79526ef1d477b68a0194b55de11de670bc41cb
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Thu Jun 9 11:39:24 2016 -0700

    kernel - Scan more pages in vm_pageout to fix OOM killer
    
    * The pageout daemon was not being aggressive enough when working under
      the heavy I/O read loads now made possible by nvme.  Certain loads could
      improperly trigger the process killer.
    
    * Instead of trying to calculate the exact number of pages per pageout
      queue to try to free up, which has had numerous edge conditions cause
      problems over the years, change it so we are a lot more generous.  The
      page queues are scanned with an iterator so pulling more pages off each
      one should work just fine.
    
    * Fixes issue with combined tar cf /dev/null /mnt and find /mnt | wc -l
      on a nvme mount with 2.4M files on it + one large 16GB file.

Summary of changes:
 sys/vm/vm_pageout.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/1f79526ef1d477b68a0194b55de11de670bc41cb


-- 
DragonFly BSD source repository



More information about the Commits mailing list