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