Re: [patch V9 02/39] rcu: Abstract out rcu_irq_enter_check_tick() from rcu_nmi_enter()

2020-05-26 Thread Paul E. McKenney
On Tue, May 26, 2020 at 10:14:56AM +0200, Ingo Molnar wrote: > > * Paul E. McKenney wrote: > > > > + if (!tick_nohz_full_cpu(rdp->cpu) || > > > + !READ_ONCE(rdp->rcu_urgent_qs) || > > > + READ_ONCE(rdp->rcu_forced_tick)) { > > > + // RCU doesn't need nohz_full help from this

Re: [patch V9 02/39] rcu: Abstract out rcu_irq_enter_check_tick() from rcu_nmi_enter()

2020-05-26 Thread Ingo Molnar
* Paul E. McKenney wrote: > > + if (!tick_nohz_full_cpu(rdp->cpu) || > > + !READ_ONCE(rdp->rcu_urgent_qs) || > > + READ_ONCE(rdp->rcu_forced_tick)) { > > + // RCU doesn't need nohz_full help from this CPU, or it is > > + // already getting that help. > > +

Re: [patch V9 02/39] rcu: Abstract out rcu_irq_enter_check_tick() from rcu_nmi_enter()

2020-05-21 Thread Thomas Gleixner
"Paul E. McKenney" writes: > On Thu, May 21, 2020 at 10:05:15PM +0200, Thomas Gleixner wrote: >> +void __rcu_irq_enter_check_tick(void); >> + >> +static __always_inline void rcu_irq_enter_check_tick(void) >> +{ >> +if (context_tracking_enabled()) >> +__rcu_irq_enter_check_tick();

Re: [patch V9 02/39] rcu: Abstract out rcu_irq_enter_check_tick() from rcu_nmi_enter()

2020-05-21 Thread Paul E. McKenney
On Thu, May 21, 2020 at 10:05:15PM +0200, Thomas Gleixner wrote: > From: Paul E. McKenney > > There will likely be exception handlers that can sleep, which rules > out the usual approach of invoking rcu_nmi_enter() on entry and also > rcu_nmi_exit() on all exit paths. However, the alternative

[patch V9 02/39] rcu: Abstract out rcu_irq_enter_check_tick() from rcu_nmi_enter()

2020-05-21 Thread Thomas Gleixner
From: Paul E. McKenney There will likely be exception handlers that can sleep, which rules out the usual approach of invoking rcu_nmi_enter() on entry and also rcu_nmi_exit() on all exit paths. However, the alternative approach of just not calling anything can prevent RCU from coaxing quiescent