diff options
Diffstat (limited to 'sys/i386')
-rw-r--r-- | sys/i386/i386/mp_machdep.c | 2 | ||||
-rw-r--r-- | sys/i386/i386/mptable.c | 2 | ||||
-rw-r--r-- | sys/i386/include/mptable.h | 2 |
3 files changed, 6 insertions, 0 deletions
diff --git a/sys/i386/i386/mp_machdep.c b/sys/i386/i386/mp_machdep.c index 7ebd6ea..1bca189 100644 --- a/sys/i386/i386/mp_machdep.c +++ b/sys/i386/i386/mp_machdep.c @@ -2727,6 +2727,8 @@ static void release_aps(void *dummy __unused) { + if (mp_ncpus == 1) + return; mtx_lock_spin(&sched_lock); atomic_store_rel_int(&aps_ready, 1); while (smp_started == 0) diff --git a/sys/i386/i386/mptable.c b/sys/i386/i386/mptable.c index 7ebd6ea..1bca189 100644 --- a/sys/i386/i386/mptable.c +++ b/sys/i386/i386/mptable.c @@ -2727,6 +2727,8 @@ static void release_aps(void *dummy __unused) { + if (mp_ncpus == 1) + return; mtx_lock_spin(&sched_lock); atomic_store_rel_int(&aps_ready, 1); while (smp_started == 0) diff --git a/sys/i386/include/mptable.h b/sys/i386/include/mptable.h index 7ebd6ea..1bca189 100644 --- a/sys/i386/include/mptable.h +++ b/sys/i386/include/mptable.h @@ -2727,6 +2727,8 @@ static void release_aps(void *dummy __unused) { + if (mp_ncpus == 1) + return; mtx_lock_spin(&sched_lock); atomic_store_rel_int(&aps_ready, 1); while (smp_started == 0) |