aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhenlei Huang <zlei@FreeBSD.org>2023-10-12 10:14:49 +0000
committerZhenlei Huang <zlei@FreeBSD.org>2023-10-19 14:17:29 +0000
commitde2b262fde2f0955cff5cade6cca58b06fbdd37f (patch)
tree1c01e95e8cb661f682875de68d5ec06ff46c7e6e
parentc2be2c87dc2100b107a20ddd918ed9d74b8533e3 (diff)
downloadsrc-de2b262fde2f0955cff5cade6cca58b06fbdd37f.tar.gz
src-de2b262fde2f0955cff5cade6cca58b06fbdd37f.zip
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 (cherry picked from commit a55fbda874db31b804490567c69502c891b6ff61) (cherry picked from commit cb5bc8a748dfefc68e3905e8fdf17e0484844383)
-rw-r--r--sys/vm/vm_page.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
index 76c50ba676c2..d21022930396 100644
--- a/sys/vm/vm_page.c
+++ b/sys/vm/vm_page.c
@@ -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++) {