HomeFreeBSD

Account for the lowmem handlers in the inactive queue scan target.

Description

Account for the lowmem handlers in the inactive queue scan target.

Before r329882 the target would be computed after lowmem handlers run
and free pages. On some systems a significant amount of page
reclamation happens this way. However, with r329882 the target is
computed first, which can lead to unnecessary reclamation from the
page cache, and this in turn may result in excessive swapping.

Instead, adjust the target after running lowmem handlers. Don't
invoke the lowmem handlers before the PID controller, though, since
that would hide the true rate of page allocation.

Reviewed by: alc, kib (previous version)
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D16606

Details

Provenance
markjAuthored on
Reviewer
alc
Differential Revision
D16606: Run lowmem handlers before the PID controller.
Parents
rS337546: subr_prf: Use "sizeof current_boot_tag" instead
Branches
Unknown
Tags
Unknown