]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r285282
authoralc <alc@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sun, 27 Sep 2015 04:36:09 +0000 (04:36 +0000)
committeralc <alc@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sun, 27 Sep 2015 04:36:09 +0000 (04:36 +0000)
commita7f924a80fe1a235773e120933c0fe19c701a783
treec8e75e7055bedb82b9ef69dc060ffa900691ecb9
parent3ec1dcc33b990fecf7b8857c0cc1d3728cb06de5
MFC r285282
  The intention of r254304 was to scan the active queue continuously.
  However, I've observed the active queue scan stopping when there are
  frequent free page shortages and the inactive queue is steadily refilled
  by other mechanisms, such as the sequential access heuristic in vm_fault()
  or madvise(2).  To remedy this problem, record the time of the last active
  queue scan, and always scan a number of pages proportional to the time
  since the last scan, regardless of whether that last scan was a
  timeout-triggered ("pass == 0") or free-page-shortage-triggered ("pass >
  0") scan.

  Also, on a timeout-triggered scan, allow a full scan of the active queue
  when the system is short of inactive pages.

git-svn-id: svn://svn.freebsd.org/base/stable/10@288294 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/vm/vm_page.h
sys/vm/vm_pageout.c