Messages in this thread |  | | Date | Wed, 16 Aug 2017 10:58:05 -0700 | From | "Paul E. McKenney" <> | Subject | Re: RCU stall when using function_graph |
| |
On Wed, Aug 16, 2017 at 12:41:40PM -0400, Steven Rostedt wrote: > On Wed, 16 Aug 2017 09:32:28 -0700 > "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> wrote: > > > Let me see if I understand you... About halfway to the stall limit, > > RCU triggers an irq_work (on each CPU that has not yet passed through > > a quiescent state, IPIing them in turn?), and if the irq_work has > > not completed by the end of the stall limit, RCU adds that to its > > stall-warning message. > > Doesn't even have to be half way through. It could be done at the > limit, and then wait a little more.
Agreed. However, I take other evasive action halfway through, so there is a nice place to put the code.
> > Or am I missing something here? > > No, I think that's what I was suggesting.
I don't see a way of canceling an irq_work.
Ah, but there is an irq_work_queue_on() that fails if still pending. I should be able to use that instead of cancel. Plus, -I- don't have to send the IPIs, I can just let irq_work_queue_on() do my dirty work!
This should provide sufficient entertainment for a bit! ;-)
Thanx, Paul
|  |