Re: [PATCH v2 1/3] genirq/affinity: Add irq_update_affinity_desc()

From: Thomas Gleixner
Date: Thu Nov 19 2020 - 13:09:48 EST


On Thu, Nov 19 2020 at 09:31, John Garry wrote:
>> 1) Interrupt does not exist. Definitely a full fail
>>
>> 2) Interrupt is already started up. Not a good idea on init() and
>> a clear fail.
>>
>> 3) Interrupt has already been switched to managed. Double init is not
>> really a good sign either.
>
> I just tested that and case 3) would be a problem. I don't see us
> clearing the managed flag when free'ing the interrupt. So with
> CONFIG_DEBUG_TEST_DRIVER_REMOVE=y, we attempt this affinity update
> twice, and error from the irqd_affinity_is_managed() check.

That means the interrupt is not deallocated and reallocated, which does
not make sense to me.

Thanks,

tglx