git: kernel - Use different cache_rover for emergency pager

Matthew Dillon dillon at
Sat Oct 21 23:24:01 PDT 2017

commit cf2880a210f08c9d519d06c9161d7fd9af4a4085
Author: Matthew Dillon <dillon at>
Date:   Sat Oct 21 23:17:26 2017 -0700

    kernel - Use different cache_rover for emergency pager
    * Fix an issue where the same cache_rover index was being used for both
      pageout threads.  This could result in a great deal of contention
      and cache line bouncing between the threads due to the vm pagerq
    * Fix by changing cache_rover to an array[2].  In addition, the
      one pageout thread iterates its rover forwards while the other
      runs its rover backwards, plus a little more code, to minimize

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

DragonFly BSD source repository

More information about the Commits mailing list