[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <877cnqlxmz.ffs@tglx>
Date: Fri, 13 Oct 2023 10:44:36 +0200
From: Thomas Gleixner <tglx@...utronix.de>
To: Wei Gong <gongwei833x@...il.com>
Cc: linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3] genirq: avoid long loops in handle_edge_irq
On Thu, Oct 12 2023 at 21:39, Wei Gong wrote:
> O Mon, Oct 09, 2023 at 04:32:10PM +0200, Thomas Gleixner wrote:
>> Now $COND is not true due to the affinity change and the edge handler
>> returns. As a consequence nothing acks the device and no further
>> interrupts are sent by the device.
>>
>> That might not be true for your case, but that's a generic function and the
>> zoo of hardware which uses that is massive.
>>
>> So no, we are not taking a risk here.
>>
>> Thanks,
>>
>> tglx
>>
>>
> By maintaining the original loop exit condition, if a mask mismatch is
> detected within the loop, we will not perform the unmask_irq operation.
> Instead, we will wait until the loop exits before executing unmask_irq.
> Could this approach potentially solve the issue of lost interrupts?
How so exactly?
Powered by blists - more mailing lists