Re: RCU stall when using function_graph

Steven Rostedt
2017-08-15T13:29:07Z

[ I'm back from vacation! ]

On Wed, 9 Aug 2017 17:51:33 +0200
Daniel Lezcano <daniel.lezcano@linaro.org> wrote:

> Well, may be the instruction pointer thing is not a good idea.
>
> I learnt from this experience, an overloaded kernel with a lot of
> interrupts can hang the console and issue RCU stall.
>
> However, someone else can face the same situation. Even if he reads the
> RCU/stallwarn.txt documentation, it will be hard to figure out the issue.
>
> A message telling the grace period can't be reached because we are too
> busy processing interrupts would have helped but I understand it is not
> easy to implement.

What if the stall code triggered an irqwork first? The irqwork would
trigger as soon as interrupts were enabled again (or at the next tick,
depending on the arch), and then it would know that RCU stalled due to
an irq storm if the irqwork is being hit.

-- Steve

>
> Perhaps, adding a new bullet in the documentation can help:
>
> "If the interrupt processing time is longer than the interval between
> each interrupt, the CPU will keep processing the interrupts without
> allowing the RCU's grace period kthread. This situation can happen if
> there is a highly rated number of interrupts and the function_graph
> tracer is enabled".
>
>
>
>