git: kernel - Increase VM page free minimums for allocations
Matthew Dillon
dillon at crater.dragonflybsd.org
Mon Oct 24 22:03:00 PDT 2011
commit 0a4d482811b78282cf243f23694d804716050c98
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Mon Oct 24 21:53:43 2011 -0700
kernel - Increase VM page free minimums for allocations
* Recent work removed the global vm_token and moved to per-vm_page_queue
spin locks, which allows cpus to allocate VM pages concurrently. This
could result in a situation where remaining free pages got blown out
without giving the system a chance to replentish them.
* Symptoms included the BUF/BIO system complaining of memory exhaustion
and the pageout daemon deadlocking on low memory (which would deadlock
the whole machine in a memory-exhausted state).
* Increase minimums to prevent this. In particular, the interrupt_free_min
was previously hardwired to a value of 2.. as in 2 pages (8192 bytes),
which is an excessively low value. The new calculations place this value
(typically) around a few-hundred pages.
Summary of changes:
sys/vm/vm_pageout.c | 22 ++++++++++++----------
sys/vm/vnode_pager.c | 4 +++-
2 files changed, 15 insertions(+), 11 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0a4d482811b78282cf243f23694d804716050c98
--
DragonFly BSD source repository
More information about the Commits
mailing list