Re: [PATCH tip:irq/core v1] genirq: remove auto-set of the mask when setting the hint

From: Robin Murphy
Date: Mon May 17 2021 - 14:50:50 EST


On 2021-05-17 19:08, Thomas Gleixner wrote:
On Mon, May 17 2021 at 18:26, Robin Murphy wrote:
On 2021-05-17 17:57, Nitesh Lal wrote:
I'm not implying that there isn't a bug, or that this code ever made
sense in the first place, just that fixing it will unfortunately be a
bit more involved than a simple revert. This patch as-is *will* subtly
break at least the system PMU drivers currently using

s/using/abusing/

irq_set_affinity_hint() - those I know require the IRQ affinity to
follow whichever CPU the PMU context is bound to, in order to meet perf
core's assumptions about mutual exclusion.

Which driver is that?

Right now, any driver which wants to control an IRQ's affinity and also build as a module, for one thing. I'm familiar with drivers/perf/ where a basic pattern has been widely copied; some of the callers in other subsystems appear to *expect* it to set the underlying affinity as well, but whether any of those added within the last 6 years represent a functional dependency rather than just a performance concern I don't know.

Robin.