On 29.10.2020 10:42, Thomas Gleixner wrote: > On Thu, Oct 29 2020 at 09:42, Heiner Kallweit wrote: >> On 29.10.2020 00:29, Jakub Kicinski wrote: >>> Other handles may take spin_locks, which will sleep on RT. >>> >>> I guess we may need to switch away from the _irqoff() variant for >>> drivers with IRQF_SHARED after all :( >>> >> Right. Unfortunately that's a large number of drivers, >> e.g. pci_request_irq() sets IRQF_SHARED in general. > > IRQF_SHARED is not the problem. It only becomes a problem when the > interrupt is actually shared which is only the case with the legacy PCI > interrupt. MSI[X] is not affected at all. > Correct, just that the legacy PCI interrupt scenario doesn't affect old systems/devices only. Users may run the system with nomsi for whatever reason and we need to be prepared.
We could add handling for (pcidev->msi_enabled || pcidev->msix_enabled), but this would look somewhat hacky to me. >> But at least for now there doesn't seem to be a better way to deal >> with the challenges imposed by forced threading and shared irqs. > > We still can do the static key trick, though it's admittedly hacky. > > Thanks, > > tglx > >