diff options
author | jake <jake@FreeBSD.org> | 2002-12-28 23:21:13 +0000 |
---|---|---|
committer | jake <jake@FreeBSD.org> | 2002-12-28 23:21:13 +0000 |
commit | e196fa06abab0aa90a742db926665ec82fc64247 (patch) | |
tree | 6f52837c0228d2c69110df10b1806e8bda17c2d3 /sys/kern/subr_smp.c | |
parent | e053499669338bb010b0c0ccb87ba34ae157ff9b (diff) | |
download | FreeBSD-src-e196fa06abab0aa90a742db926665ec82fc64247.zip FreeBSD-src-e196fa06abab0aa90a742db926665ec82fc64247.tar.gz |
Add a tunable kern.smp.disabled for disabling explicitly smp on an smp
kernel.
Diffstat (limited to 'sys/kern/subr_smp.c')
-rw-r--r-- | sys/kern/subr_smp.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/kern/subr_smp.c b/sys/kern/subr_smp.c index cfdd94c..7965b78 100644 --- a/sys/kern/subr_smp.c +++ b/sys/kern/subr_smp.c @@ -62,6 +62,10 @@ SYSCTL_NODE(_kern, OID_AUTO, smp, CTLFLAG_RD, NULL, "Kernel SMP"); int smp_active = 0; /* are the APs allowed to run? */ SYSCTL_INT(_kern_smp, OID_AUTO, active, CTLFLAG_RW, &smp_active, 0, ""); +int smp_disabled = 0; /* has smp been disabled? */ +SYSCTL_INT(_kern_smp, OID_AUTO, disabled, CTLFLAG_RD, &smp_disabled, 0, ""); +TUNABLE_INT("kern.smp.disabled", &smp_disabled); + int smp_cpus = 1; /* how many cpu's running */ SYSCTL_INT(_kern_smp, OID_AUTO, cpus, CTLFLAG_RD, &smp_cpus, 0, ""); @@ -102,7 +106,7 @@ mp_start(void *dummy) { /* Probe for MP hardware. */ - if (mp_probe_status == 0) + if (mp_probe_status == 0 || smp_disabled != 0) return; mtx_init(&smp_rv_mtx, "smp rendezvous", NULL, MTX_SPIN); |