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-24 14:35:51 +0000
commit00b630cf6262bfc4ec0a434976c6544c57dc3e04 (patch)
treea265df4dbec8f339d01cc3648ccb1425399e519b
parent5c23cc232716a56d789a6c89681d520fcddc1696 (diff)
downloadsrc-00b630cf6262bfc4ec0a434976c6544c57dc3e04.tar.gz
src-00b630cf6262bfc4ec0a434976c6544c57dc3e04.zip
vm_phys: Add corresponding sysctl knob for loader tunable
The loader tunable 'vm.numa.disabled' 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 Approved by: re (gjb) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D42138 (cherry picked from commit c415cfc8be1b732a80f1ada6d52091e08eeb9ab5) (cherry picked from commit e26b7e8d02f648623ad343016533487634a16698)
-rw-r--r--sys/vm/vm_phys.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/sys/vm/vm_phys.c b/sys/vm/vm_phys.c
index 108297caac49..bc992bdfc58b 100644
--- a/sys/vm/vm_phys.c
+++ b/sys/vm/vm_phys.c
@@ -76,6 +76,12 @@ _Static_assert(sizeof(long long) >= sizeof(vm_paddr_t),
#ifdef NUMA
struct mem_affinity __read_mostly *mem_affinity;
int __read_mostly *mem_locality;
+
+static int numa_disabled;
+static SYSCTL_NODE(_vm, OID_AUTO, numa, CTLFLAG_RD | CTLFLAG_MPSAFE, 0,
+ "NUMA options");
+SYSCTL_INT(_vm_numa, OID_AUTO, disabled, CTLFLAG_RDTUN | CTLFLAG_NOFETCH,
+ &numa_disabled, 0, "NUMA-awareness in the allocators is disabled");
#endif
int __read_mostly vm_ndomains = 1;
@@ -627,15 +633,14 @@ vm_phys_register_domains(int ndomains, struct mem_affinity *affinity,
int *locality)
{
#ifdef NUMA
- int d, i;
+ int i;
/*
* For now the only override value that we support is 1, which
* effectively disables NUMA-awareness in the allocators.
*/
- d = 0;
- TUNABLE_INT_FETCH("vm.numa.disabled", &d);
- if (d)
+ TUNABLE_INT_FETCH("vm.numa.disabled", &numa_disabled);
+ if (numa_disabled)
ndomains = 1;
if (ndomains > 1) {