Re: [BUG RT] dump-capture kernel not executed for panic in interrupt context

From: Steven Rostedt
Date: Mon Sep 14 2020 - 15:00:57 EST


On Mon, 7 Sep 2020 13:41:40 +0200
peterz@xxxxxxxxxxxxx wrote:

> > I may have once known the rationale behind all this, but it's been a
> > long time since I worked on the PI code, and it's out of my cache.

Now I'm trying to cache all this in from a long PTO ;-)

>
> I suffer much the same problem.
>
> So cenceptually there's the problem that idle must always be runnable,
> and the moment you boost it, it becomes subject to a different
> scheduling class.
>
> Imagine for example what happens when we boost it to RT and then have it
> be subject to throttling. What are we going to run when the idle task
> is no longer elegible to run.
>
> (it might all work out by accident, but ISTR we had a whole bunch of fun
> in the earlier days of RT due to things like that)

I'm thinking if a mutex_trylock() happens in an interrupt context, which I
believe is the only way idle could trigger it, it could not be throttled if
boosted, because it's in interrupt context. And it would have to release
the mutex before leaving interrupt context putting it back to the idle
state before throttling could take effect.

Thus, I'm still not convinced that mutex_trylock() is still bad in interrupt
context yet. At least not from what I can tell.

-- Steve