kernel - Scan more pages in vm_pageout to fix OOM killer
authorMatthew Dillon <dillon@apollo.backplane.com>
Thu, 9 Jun 2016 18:39:24 +0000 (11:39 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 9 Jun 2016 18:39:24 +0000 (11:39 -0700)
commit1f79526ef1d477b68a0194b55de11de670bc41cb
tree67440d32f93b857d3b0c89aea6b01924e45fe645
parent0c77d800c94ec83950e07dd52477a62e83705385
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.
sys/vm/vm_pageout.c