Re: [RFC 2/2] timers: Make sure irq_work is handled when no pending timers
From: Thomas Gleixner <hidden>
Date: 2021-06-19 08:23:07
Also in:
lkml
From: Thomas Gleixner <hidden>
Date: 2021-06-19 08:23:07
Also in:
lkml
On Sat, Jun 19 2021 at 00:47, Thomas Gleixner wrote:
On Thu, Jun 10 2021 at 14:59, Nicolas Saenz Julienne wrote: As we since then made work queues RT aware and it's possible to queue work from the irq_work IPI context, the obvious solution is to delegate this to a work queue. If we do a proper analysis of the affected irq work callbacks then this probably makes a lot of sense independent of RT. There are only a few really urgent irq work items which need to be handled immediately in the IPI. RT is special, but as we have demonstrated over time it's not _that_ special. It just needs a proper analysis and a real good argument why something has to be special for RT and does not fit into the common case. Or to demonstrate that the common case approach of 'do it right away' is pointless or even harmfull.
I skimmed most of the ~40 irq_work instances.
Most of them have no urgency at all. And out of those non-urgent cases
the majority does not even have the requirement to run on the current
CPU, so they can be pushed off to a global work queue which moves them
away from NOHZ full CPUs completely.
That has nothing to do with RT, that's a benefit in general.
Thanks,
tglx