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

From: Thomas Gleixner <[email-masked]>
Date: Mon, 17 May 2021 21:08:27 +0200

On Mon, May 17 2021 at 19:50, Robin Murphy wrote:

> 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;

Bah. Why the heck can't people talk and just go and rumage until they
find something which hopefully does what they want...

The name of that function should have rang all alarm bells...

> 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.

Sigh. Let me do yet another tree wide audit...

Thanks,

        tglx