commit fd1fd056dfaa9247c30cb8928bebaf32d2de3477 Author: Matthew Dillon <dil...@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