aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/subr_smp.c
diff options
context:
space:
mode:
authorJake Burkholder <jake@FreeBSD.org>2002-12-28 23:21:13 +0000
committerJake Burkholder <jake@FreeBSD.org>2002-12-28 23:21:13 +0000
commitdcc4093c7a5ce7e2d7b9ba6f3cb806e4c02f6de1 (patch)
tree6f52837c0228d2c69110df10b1806e8bda17c2d3 /sys/kern/subr_smp.c
parent2ee5fea7d31c034ba15d7fb478b6fad34292adea (diff)
downloadsrc-dcc4093c7a5ce7e2d7b9ba6f3cb806e4c02f6de1.tar.gz
src-dcc4093c7a5ce7e2d7b9ba6f3cb806e4c02f6de1.zip
Add a tunable kern.smp.disabled for disabling explicitly smp on an smp
kernel.
Notes
Notes: svn path=/head/; revision=108371
Diffstat (limited to 'sys/kern/subr_smp.c')
-rw-r--r--sys/kern/subr_smp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/kern/subr_smp.c b/sys/kern/subr_smp.c
index cfdd94ce0854..7965b78fdb38 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);