DragonFly commits List (threaded) for 2008-12
DragonFly BSD
DragonFly commits List (threaded) for 2008-12
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

DragonFly- master sys/kern vfs_bio.c sys/platform/pc32/i386 pmap.c sys/platform/pc64/amd64 pmap.c sys/platform/vkernel/platform pmap.c sys/vm vm_glue.c vm_map.c vm_map.h vm_page.c vm_page2.h vm_pageout.c

From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 18 Dec 2008 13:45:33 -0800 (PST)

commit 20479584e1624aae60acc01070a685a1ae5ae392
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date:   Thu Dec 18 13:27:20 2008 -0800

    This is a major revamping of the pageout and low-memory handling code.
    The pageout daemon now detects out-of-memory conditions and properly
    kills the largest process(es).  This condition occurs when swap is
    full (or you have no swap) and most of the remaining VM pages in memory
    have become dirty.  With no swap to page to the dirty pages squeeze out
    the clean ones.  The pageout daemon detects the case and starts killing
    The pageout daemon now detects stress in the form of excess cpu use
    and tries to reduce its cpu footprint when that occurs.  Excess cpu use
    can occur when the only pages left in-core are dirty and there is nowhere
    to swap them to.  Previously if this case occured the system would basically
    just stop working.
    These changes make the system truely have VM = RAM+SWAP.  If you 1G of ram
    and 1G of swap the system can run up to 2G worth of processes.

Summary of changes:
 sys/kern/vfs_bio.c                   |   11 --
 sys/platform/pc32/i386/pmap.c        |    6 +-
 sys/platform/pc64/amd64/pmap.c       |    6 +-
 sys/platform/vkernel/platform/pmap.c |    6 +-
 sys/vm/vm_glue.c                     |    2 +-
 sys/vm/vm_map.c                      |   39 ++++-
 sys/vm/vm_map.h                      |    1 +
 sys/vm/vm_page.c                     |   19 +--
 sys/vm/vm_page2.h                    |   71 ++++----
 sys/vm/vm_pageout.c                  |  306 +++++++++++++++++++---------------
 10 files changed, 260 insertions(+), 207 deletions(-)


DragonFly BSD source repository

[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]