Messages in this thread |  | | | Date | Thu, 23 Jun 2011 11:33:16 +0200 (CEST) | | From | Thomas Gleixner <> | | Subject | Re: [patch 1/4] x86, mtrr: lock stop machine during MTRR rendezvous sequence |
| |
On Thu, 23 Jun 2011, Peter Zijlstra wrote:
> On Wed, 2011-06-22 at 15:20 -0700, Suresh Siddha wrote: > > +#ifdef CONFIG_SMP > > + /* > > + * If we are not yet online, then there can be no stop_machine() in > > + * parallel. Stop machine ensures this by using get_online_cpus(). > > + * > > + * If we are online, then we need to prevent a stop_machine() happening > > + * in parallel by taking the stop cpus mutex. > > + */ > > + if (cpu_online(raw_smp_processor_id())) > > + mutex_lock(&stop_cpus_mutex); > > +#endif > > This reads like an optimization, is it really worth-while to not take > the mutex in the rare offline case?
You cannot block on a mutex when you are not online, in fact you cannot block on it when not active, so the check is wrong anyway.
Thanks,
tglx
|  |