Re: [PATCH 6.10 000/809] 6.10.3-rc3 review

From: Thomas Gleixner
Date: Mon Aug 05 2024 - 08:51:32 EST


On Mon, Aug 05 2024 at 10:56, Thomas Gleixner wrote:
> If this is really a race then the following must be true:
>
> 1) no delay
>
> CPU0 CPU1
> request_irq(IRQF_ONESHOT)
> request_irq(IRQF_COND_ONESHOT)
>
> 2) delay
>
> CPU0 CPU1
> request_irq(IRQF_COND_ONESHOT)
> request_irq(IRQF_ONESHOT)
>
> In this case the request on CPU 0 fails with -EBUSY ...
>
> Confused

More confusing:

Adding a printk() in setup_irq() - using the config, rootfs and the run.sh
script from:

http://server.roeck-us.net/qemu/parisc64-6.1.5/

results in:

[ 0.000000] genirq: 64 flags: 00215600
[ 0.000000] genirq: 65 flags: 00200400
[ 8.110946] genirq: 66 flags: 00200080

IRQF_ONESHOT is 0x2000 which is not set by any of the interrupt
requests.

IRQF_COND_ONESHOT has only an effect when

1) Interrupt is shared
2) First interrupt request has IRQF_ONESHOT set

Neither #1 nor #2 are true, but maybe your current config enables some moar
devices than the one on your website.

Thanks,

tglx