lkml.org 
[lkml]   [2013]   [Feb]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 2/2] irq: Cleanup context state transitions in irq_exit()
On Tue, 26 Feb 2013, Paul E. McKenney wrote:
> On Tue, Feb 26, 2013 at 04:14:43PM +0100, Thomas Gleixner wrote:
> >
> > On Tue, 26 Feb 2013, Frederic Weisbecker wrote:
> > > And what do you think about Linus's idea to move tick_nohz_irq_exit()
> > > to do_softirq()?
> > > This sounds feasible and a right place to do this, I hope that won't
> > > uglify do_softirq() though.
> > > I can try something.
> >
> > Yeah, looks doable. the rcu stuff needs to go there as well, right?
>
> If it does, it needs to do so in such a way that rcu_irq_enter() and
> rcu_irq_exit() nest properly. One area of concern is the force_irqthreads
> case, skips calling do_softirq(). Another area of concern is the
> __ARCH_IRQ_EXIT_IRQS_DISABLED case, which calls __do_softirq() rather
> than do_softirq().

That's sorted already. We disable interrupts in irq_exit().

> Or am I missing some adjustment that is to be made when moving rcu_irq_exit()
> to do_softirq()?

Yeah, we need an extra parameter or such, so the other callers of
__do_softirq() don't mess with it.

I also noticed that rcu_irq_enter/exit needs to be symetric and the
NOHZ code will get confused as well if we call it asymetric.

So that will become even more ugly than the extra check at the end of
irq_exit().

Thanks,

tglx





\
 
 \ /
  Last update: 2013-02-26 20:24    [W:0.048 / U:0.752 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site