Re: [PATCH RT] add missing local serialization in ip_output.c

From: Nicholas Mc Guire
Date: Fri Jan 17 2014 - 14:41:11 EST


On Fri, 17 Jan 2014, Steven Rostedt wrote:

> On Fri, 17 Jan 2014 16:33:23 +0100
> Nicholas Mc Guire <der.herr@xxxxxxx> wrote:
>
> > On Fri, 17 Jan 2014, Sebastian Andrzej Siewior wrote:
> >
> > > On 01/17/2014 03:59 PM, Nicholas Mc Guire wrote:
> > > > On Fri, 17 Jan 2014, Sebastian Andrzej Siewior wrote:
> > > >
> > > >> This is what I am going to apply. It also dropped the get_cpu_light()
> > > >> call which was added in a patch to remove the get_cpu_var() and is now
> > > >> no longer required since we have the get_locked_var() thingy now.
> > > >>
> > > >
> > > > I do not think you can drop that - what is preventing migration now ?
> > >
> > > Nothing but I do not see the need for it.
> > >
> > > >
> > > > #define get_locked_var(lvar, var) \
> > > > (*({ \
> > > > local_lock(lvar); \
> > > > &__get_cpu_var(var); \
> > > > }))
> > > >
> > q> > No migrate_disable here - so how is this protected against migration ?
>
> I was just about to reply to this, that local_lock() grabs a spinlock
> which does do a migrate disable. But you also noticed that the
> get_local_var() does a migrate disable too. We now have double the
> protection, so we are safe as Sebastion has done it.
>
...well that motivates a further migration cleanup patch replacing
the spin_*lock* by spin_*lock*_local variants to drop that recursive call
and while checking call paths - do a little API cleanup for softirq_lock

thx!
hofrat
--
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/