On 01/06/2022 02:04, Davidlohr Bueso wrote:
On Tue, 31 May 2022, Sebastian Andrzej Siewior wrote:
On 2022-05-31 16:12:05 [+0100], John Garry wrote:
Sorry, maybe I was not clear, but I was just asking if there was a good
reason to disable interrupts at source while handling the interrupt,
and not
the change to stop using a tasklet.
Without reading the patch first: You need to disable the interrupt
source while the tasklet/ threaded interrupt is handled. Otherwise the
interrupt will keep coming and the tasklet/ threaded interrupt will have
no chance to make progress. So the box will lock up. This is often
overseen on fast machines because the interrupt needs a few usecs to
trigger and so the CPU is able to make a little bit of progress between
each trigger.
In addition it keeps current semantics wrt ksoftirqd, so no guarantees
this runs in irq context in the first place.
ok, Fine.
So is it actually documented anywhere what any low-level driver should
do in terms of masking interrupts at source for interrupt handling, i.e.
when and where we should ever do this? I see pci.rst does mention how we
may need this at driver removal time in "Stop IRQs on the device"
section, but not totally related.
Thanks,
John