DragonFly commits List (threaded) for 2011-10
git: kernel - Increase VM page free minimums for allocations
Author: Matthew Dillon <email@example.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(-)
DragonFly BSD source repository