[RFC PATCH] arm64: defconfig: Disable fine-grained task level IRQ time accounting

Thomas Gleixner tglx at linutronix.de
Thu Aug 6 15:03:24 EDT 2020


Paul,

"Paul E. McKenney" <paulmck at kernel.org> writes:
> On Thu, Aug 06, 2020 at 01:45:45PM +0200, peterz at infradead.org 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



More information about the linux-arm-kernel mailing list