Page MenuHomeFreeBSD

vm_pageout: Add a chicken switch for multithreaded PQ_INACTIVE scanning
ClosedPublic

Authored by markj on Tue, Jan 7, 7:25 PM.
Tags
None
Referenced Files
F108432824: D48377.diff
Fri, Jan 24, 5:44 PM
Unknown Object (File)
Sun, Jan 12, 10:32 AM
Unknown Object (File)
Sun, Jan 12, 5:20 AM
Unknown Object (File)
Fri, Jan 10, 5:31 PM
Unknown Object (File)
Fri, Jan 10, 2:19 AM
Unknown Object (File)
Fri, Jan 10, 12:46 AM
Unknown Object (File)
Thu, Jan 9, 3:22 PM
Unknown Object (File)
Thu, Jan 9, 10:12 AM
Subscribers

Details

Summary

Right now we have the vm.pageout_cpus_per_thread tunable which controls
the number of threads to start up per CPU per NUMA domain, but after
booting, it's not possible to disable multi-threaded scanning.

There is at least one workload where this mechanism doesn't work well;
let's make it possible to disable it without a reboot, to simplify
troubleshooting.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 61565
Build 58449: arc lint + arc unit

Event Timeline

markj requested review of this revision.Tue, Jan 7, 7:25 PM
sys/vm/vm_pageout.c
2317

How a tunable would work there?

markj marked an inline comment as done.Tue, Jan 7, 7:51 PM
markj added inline comments.
sys/vm/vm_pageout.c
2317

SYSCTL_ADD_BOOL fetches the value from the kenv, and it is applied if set. Empirically, it works, so long as the sysctl is added after the field is initialized of course.

This revision is now accepted and ready to land.Tue, Jan 7, 7:59 PM