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
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 Not Applicable
Unit
Tests Not Applicable

Event Timeline

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

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
2274

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