[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <873615oy8a.fsf@nanos.tec.linutronix.de>
Date: Thu, 19 Nov 2020 22:03:49 +0100
From: Thomas Gleixner <tglx@...utronix.de>
To: John Garry <john.garry@...wei.com>, gregkh@...uxfoundation.org,
rafael@...nel.org, martin.petersen@...cle.com, jejb@...ux.ibm.com
Cc: linuxarm@...wei.com, linux-scsi@...r.kernel.org,
linux-kernel@...r.kernel.org, maz@...nel.org
Subject: Re: [PATCH v2 1/3] genirq/affinity: Add irq_update_affinity_desc()
On Thu, Nov 19 2020 at 19:56, John Garry wrote:
>>>> 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.
>>
>
> Just mentioning a couple of things here, which could be a clue to what
> is going on:
> - the device is behind mbigen secondary irq controller
> - the flow in the LLDD is to allocate all 128 interrupts during probe,
> but we only register handlers for a subset with device managed API
Right, but if the driver is removed then the interrupts should be
deallocated, right?
Thanks,
tglx
Powered by blists - more mailing lists