Messages in this thread |  | | Date | Tue, 21 Oct 2014 13:58:20 +0200 | From | Thomas Petazzoni <> | Subject | Re: RCU stall in af_unix.c, should use spin_lock_irqsave? |
| |
Dear Eric Dumazet,
On Tue, 21 Oct 2014 03:28:20 -0700, Eric Dumazet wrote:
> > Ok. So it's actually safe to mix spin_lock() and spin_lock_irqsave() on > > the same lock, if you know that this lock will never ever be taken in > > an interrupt context? > > Sure.
Ok, thanks.
> > > mvpp2 is seriously brain damaged : on_each_cpu() cannot be used from > > > a bottom half handler. > > > > That's what I thought. Back to the drawing board then, to fix mvpp2. > > > > Do you think there is a place where we can write down those > > assumptions? It isn't easy to spot whether on_each_cpu() is safe to use > > in a bottom half or not. > > > > Really ? kernel/smp.c is full of comments. > > Too many comments and people seem to not read them ;) > > Take a look at smp_call_function(), which is called from on_each_cpu()
Indeed, it's written black on white on smp_call_function(). I guess we'll have to dig into the details of the mvpp2 hardware and its per-CPU registers and see how to handle things properly.
Thanks a lot for your input!
Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
|  |