svn commit: r367829 - head/sys/kern
Mateusz Guzik
mjg at FreeBSD.org
Thu Nov 19 04:27:52 UTC 2020
Author: mjg
Date: Thu Nov 19 04:27:51 2020
New Revision: 367829
URL: https://svnweb.freebsd.org/changeset/base/367829
Log:
smp: fix smp_rendezvous_cpus_retry usage before smp starts
Since none of the other CPUs are running there is nobody to clear their
entries and the routine spins indefinitely.
Modified:
head/sys/kern/subr_smp.c
Modified: head/sys/kern/subr_smp.c
==============================================================================
--- head/sys/kern/subr_smp.c Thu Nov 19 03:59:21 2020 (r367828)
+++ head/sys/kern/subr_smp.c Thu Nov 19 04:27:51 2020 (r367829)
@@ -896,6 +896,21 @@ smp_rendezvous_cpus_retry(cpuset_t map,
int cpu;
/*
+ * Only one CPU to execute on.
+ */
+ if (!smp_started) {
+ spinlock_enter();
+ if (setup_func != NULL)
+ setup_func(arg);
+ if (action_func != NULL)
+ action_func(arg);
+ if (teardown_func != NULL)
+ teardown_func(arg);
+ spinlock_exit();
+ return;
+ }
+
+ /*
* Execute an action on all specified CPUs while retrying until they
* all acknowledge completion.
*/
More information about the svn-src-all
mailing list