Messages in this thread |  | | | Date | Tue, 07 Jun 2011 13:14:11 -0700 | | From | Suresh Siddha <> | | Subject | [patch v2 0/2] enhance stop machine infrastructure for MTRR rendezvous sequence |
| |
First patch enhance the stop machine infrastructure so that we can call __stop_machine() from the cpu hotplug path, where the calling cpu is not yet online. We do allow this for already for !CONFIG_SMP. So this patch brings the CONFIG_SMP behavior inline with !CONFIG_SMP
Second patch uses the enhanced __stop_machine() to implement the x86 MTRR init rendezvous sequence and thus remove the duplicate implementation of stop machine using stop_one_cpu_nowait(). This duplicate implementation of stop machine can potentially lead to deadlock if there is a parallel system wide rendezvous using __stop_machine().
Both these address one of the deadlocks mentioned in the https://bugzilla.novell.com/show_bug.cgi?id=672008
Changes from v1: * Use stop_cpu thread enabled status to find out if the cpu is online/offline, instead of using cpu_online(smp_processor_id()). This avoids a false positive of using smp_processor_id() from preemptible section.
thanks, suresh
|  |