Re: [PATCH] Fix SMP alternatives : use mutex instead of spinlock,text_poke is sleepable

From: Mathieu Desnoyers
Date: Thu May 01 2008 - 16:09:20 EST


* Linus Torvalds (torvalds@xxxxxxxxxxxxxxxxxxxx) wrote:
>
>
> On Thu, 1 May 2008, Mathieu Desnoyers wrote:
> >
> > Yep. I think using a mutex should fix it. There is no reason to use a
> > spinlock rather than a mutex here.
>
> Is there any reason to do any locking what-so-ever?
>
> If this code could possibly race with something else, that sounds like a
> bug in itself, no?
>
> Linus

The smp_alt mutex taken in
alternatives_smp_module_add/alternatives_smp_module_del seems required
because this code will run at module load/free, even in SMP context (not
within stop_machine_run).

As for alternatives_smp_switch, which is called when switching between
UP and SMP, always in UP context, I guess we should assume it could be
executed concurrently wrt the module_load/free, even in UP on a
CONFIG_PREEMPT kernel.

Mathieu


--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/