git: kernel - VM rework part 20 - Fix vmmeter_neg_slop_cnt
Matthew Dillon
dillon at crater.dragonflybsd.org
Wed May 22 00:23:30 PDT 2019
commit fd1fd056dfaa9247c30cb8928bebaf32d2de3477
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Wed May 22 00:16:17 2019 -0700
kernel - VM rework part 20 - Fix vmmeter_neg_slop_cnt
* Fix some serious issues with the vmmeter_neg_slop_cnt calculation.
The main problem is that this calculation was then causing
vmstats.v_free_min to be recalculated to a much higher value
than it should beeen calculated to, resulting in systems starting
to page far earlier than they should.
For example, the 128G TR started paging tmpfs data with 25GB of
free memory, which was not intended. The correct target for that
amount of memory is more around 3GB.
* Remove vmmeter_neg_slop_cnt entirely and refactor the synchronization
code to be smarter. It will now synchronize vmstats fields whos
adjustments exceed -1024, but only if paging would actually be
needed in the worst-case scenario.
* This algorithm needs low-memory testing and might require more
tuning.
Summary of changes:
sys/sys/vmmeter.h | 2 --
sys/vm/vm_meter.c | 2 +-
sys/vm/vm_page.c | 65 +++++++++++++++++++++++++++++++----------------------
sys/vm/vm_page.h | 1 -
sys/vm/vm_page2.h | 6 ++---
sys/vm/vm_pageout.c | 41 ++++++---------------------------
6 files changed, 49 insertions(+), 68 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/fd1fd056dfaa9247c30cb8928bebaf32d2de3477
--
DragonFly BSD source repository
More information about the Commits
mailing list