Messages in this thread | | | Date | Mon, 11 Mar 2019 21:50:27 -0400 | From | Steven Rostedt <> | Subject | Re: [PATCH] rcu/tree: Fix self wakeups for grace period kthread |
| |
On Fri, 8 Mar 2019 15:16:18 +0530 Neeraj Upadhyay <neeraju@codeaurora.org> wrote:
> Update the code to match the comment that self wakeup of > grace period kthread is allowed from interrupt handler, and > softirq handler, running in the grace period kthread's > context. Present code allows self wakeups from all > interrupt contexts - nmi, softirq and hardirq contexts.
That's not actually the issue. But it appears that we return if we simply have BH disabled, which I don't think we want, and we don't care about NMI as NMI should never call this code.
I think your patch is correct, but the change log is not.
-- Steve
> > Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org> > --- > kernel/rcu/tree.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c > index acd6ccf..57cac6d 100644 > --- a/kernel/rcu/tree.c > +++ b/kernel/rcu/tree.c > @@ -1585,7 +1585,7 @@ static bool rcu_future_gp_cleanup(struct rcu_node *rnp) > static void rcu_gp_kthread_wake(void) > { > if ((current == rcu_state.gp_kthread && > - !in_interrupt() && !in_serving_softirq()) || > + !in_irq() && !in_serving_softirq()) || > !READ_ONCE(rcu_state.gp_flags) || > !rcu_state.gp_kthread) > return;
| |