Re: [RFC PATCH] arm64: defconfig: Disable fine-grained task level IRQ time accounting
From: Thomas Gleixner
Date: Thu Aug 06 2020 - 15:03:30 EST
Paul,
"Paul E. McKenney" <paulmck@xxxxxxxxxx> writes:
> On Thu, Aug 06, 2020 at 01:45:45PM +0200, peterz@xxxxxxxxxxxxx wrote:
>> The safety thing is concerned with RT tasks. It doesn't pretend to help
>> with runnaway IRQs, never has, never will.
>
> Getting into the time machine back to the 1990s...
>
> DYNIX/ptx had a discretionary mechanism to deal with excessive interrupts.
> There was a function that long-running interrupt handlers were supposed
> to call periodically that would return false if the system felt that
> the CPU had done enough interrupts for the time being. In that case,
> the interrupt handler was supposed to schedule itself for a later time,
> but leave the interrupt unacknowledged in order to prevent retriggering
> in the meantime.
>
> Of course, this mechanism would be rather less helpful in Linux.
>
> For one, Linux has way more device drivers and way more oddball devices.
> In contrast, the few devices that DYNIX/ptx supported were carefully
> selected, and the selection criteria included being able to put up
> with this sort of thing. Also, the fact that there was but a handful
> of device drivers meant that changes like this could be more easily
> propagated through all drivers.
We could do that completely at the core interrupt handling level.
> Also, Linux supports way more workloads. In contrast, DYNIX/ptx could
> pick a small percentage of each CPU that would be permitted to be used
> by hardware interrupt handlers. As in there are probably Linux workloads
> that run >90% of some poor CPU within hardware interrupt handlers.
Yet another tunable. /me runs