git: kernel - VM rework part 21 - Fix excessive paging to swap bug
Matthew Dillon
dillon at crater.dragonflybsd.org
Fri Jun 28 15:42:47 PDT 2019
commit 2aa63302a428b68c2ebab621771aaf0d21bb6370
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Fri Jun 28 15:35:18 2019 -0700
kernel - VM rework part 21 - Fix excessive paging to swap bug
* Fix a bug where pages on the inactive queue would sometimes not
get moved to the cache queue after being paged out, and also not
get its [M]odify bit cleared, causing the pageout demon to repeatedly
write numerous pages out without making progress.
This may require some additional work to avoid a double-pageout
condition, but it fixes the main issue.
* Returns us back to the 'feel' of paging prior to the VM rework,
and should reduce stuttering in chrome and other paging-related lag
users might experience.
The bug was introduced due to differences in how the pmap code
handle vm_page_protect(..., VM_PROT_READ).
Summary of changes:
sys/vm/vm_pageout.c | 72 ++++++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 57 insertions(+), 15 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/2aa63302a428b68c2ebab621771aaf0d21bb6370
--
DragonFly BSD source repository
More information about the Commits
mailing list