git: kernel - Adjust vm.pageout_memuse_mode

Matthew Dillon dillon at crater.dragonflybsd.org
Wed Feb 12 17:14:33 PST 2020


commit 689a6e25b47cda5f7dd2eac6d8119107d875f071
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Wed Feb 12 12:25:32 2020 -0800

    kernel - Adjust vm.pageout_memuse_mode
    
    * Generally speaking pages in the INACTIVE queue are cycled through
      the queue once if they are clean, and twice if they are dirty
      (cycle, clean, cycle again).
    
      This could lead to an excessive lack of progress when paging heavily
      and a lot of dirty data is present in INACTIVE, such as when a great
      deal of just-written tmpfs related data is present.
    
    * Change the default to cycle dirty pages through the queue just
      once, same as clean pages.
    
    * Only scan 1/10 of each of the 1024 ACTIVE / INACTIVE queues in
      each pass.  This is particularly important for the INACTIVE queue
      because we want to give pages in this queue a chance to reactivate
      and they might not be given that chance when the full queue is
      scanned.
    
      This became an issue when we greatly increased the number of queues
      in previous SMP partitioning work (the CPU topology is mapped onto to
      the queue space for initial allocation attempts in order to reduce
      contention).

Summary of changes:
 sys/vm/vm_pageout.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/689a6e25b47cda5f7dd2eac6d8119107d875f071


-- 
DragonFly BSD source repository



More information about the Commits mailing list