Messages in this thread | | | From | Thomas Gleixner <> | Subject | Re: [RFC PATCH] arm64: defconfig: Disable fine-grained task level IRQ time accounting | Date | Thu, 06 Aug 2020 11:34:42 +0200 |
| |
peterz@infradead.org writes: > On Mon, Aug 03, 2020 at 09:22:53PM +0200, Thomas Gleixner wrote: > >> totaltime = irqtime + tasktime >> >> Ignoring irqtime and pretending that totaltime is what the scheduler >> can control and deal with is naive at best. > > Well no, that's what we call system overhead and is assumed to be > included in the 'error margin'. > > The way things are set up is that we say that, by default, RT tasks can > consume 95% of cputime and the remaining 5% is sufficient to keep the > system alive. > > Those 5% include all system overhead, IRQs, RCU, !RT workqueues etc.. > > Obviously IRQ_TIME accounting changes the balance a bit, but that's what > it is. We can't really do anything better. > > Apparently this SoC has significant IRQ time for some reason. Also, > relying on RT throttling for 'correct' behaviour is also wrong. What > needs to be done is find who is using all this RT time and why, that > isn't right.
It's a test case and we know already who is using the time. But that's not the point.
A runaway RT task resulting in a RCU stall or whatever lockup of the system is definitely not the right answer.
The throttler, as much as it's a horrible hack, is there to prevent this and to give the admin a chance to pinpoint and kill that thing instead of having to press the reset button and scratching head what might have caused this.
Thanks,
tglx
| |