vm_page: Add corresponding sysctl knob for loader tunable

The loader tunable 'vm.pgcache_zone_max_pcpu' does not have corresponding
sysctl MIB entry. Add it so that it can be retrieved, and `sysctl -T`
will also report it correctly.

Reviewed by:	markj
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D42138
This commit is contained in:
Zhenlei Huang 2023-10-12 18:14:49 +08:00
parent 1d2b743784
commit a55fbda874

View file

@ -198,6 +198,11 @@ vm_page_init(void *dummy)
bogus_page = vm_page_alloc_noobj(VM_ALLOC_WIRED);
}
static int pgcache_zone_max_pcpu;
SYSCTL_INT(_vm, OID_AUTO, pgcache_zone_max_pcpu,
CTLFLAG_RDTUN | CTLFLAG_NOFETCH, &pgcache_zone_max_pcpu, 0,
"Per-CPU page cache size");
/*
* The cache page zone is initialized later since we need to be able to allocate
* pages before UMA is fully initialized.
@ -209,9 +214,8 @@ vm_page_init_cache_zones(void *dummy __unused)
struct vm_pgcache *pgcache;
int cache, domain, maxcache, pool;
maxcache = 0;
TUNABLE_INT_FETCH("vm.pgcache_zone_max_pcpu", &maxcache);
maxcache *= mp_ncpus;
TUNABLE_INT_FETCH("vm.pgcache_zone_max_pcpu", &pgcache_zone_max_pcpu);
maxcache = pgcache_zone_max_pcpu * mp_ncpus;
for (domain = 0; domain < vm_ndomains; domain++) {
vmd = VM_DOMAIN(domain);
for (pool = 0; pool < VM_NFREEPOOL; pool++) {