On Sun, Nov 01, 2020 at 11:30:44PM +0100, Heiner Kallweit wrote: > We had to remove flag IRQF_NO_THREAD because it conflicts with shared > interrupts in case legacy interrupts are used. Following up on the > linked discussion set IRQF_NO_THREAD if MSI or MSI-X is used, because > both guarantee that interrupt won't be shared. > > Signed-off-by: Heiner Kallweit <hkallwe...@gmail.com> > Link: https://www.spinics.net/lists/netdev/msg695341.html
I am not sure if this utilization of the Link: tag is valid. I think it has a well-defined meaning and maintainers use it to provide a link to the email where the patch was picked from: https://lkml.org/lkml/2011/4/6/421 > --- > drivers/net/ethernet/realtek/r8169_main.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/realtek/r8169_main.c > b/drivers/net/ethernet/realtek/r8169_main.c > index 319399a03..4d6afaf7c 100644 > --- a/drivers/net/ethernet/realtek/r8169_main.c > +++ b/drivers/net/ethernet/realtek/r8169_main.c > @@ -4690,6 +4690,7 @@ static int rtl_open(struct net_device *dev) > { > struct rtl8169_private *tp = netdev_priv(dev); > struct pci_dev *pdev = tp->pci_dev; > + unsigned long irqflags; > int retval = -ENOMEM; > > pm_runtime_get_sync(&pdev->dev); > @@ -4714,8 +4715,9 @@ static int rtl_open(struct net_device *dev) > > rtl_request_firmware(tp); > > + irqflags = pci_dev_msi_enabled(pdev) ? IRQF_NO_THREAD : IRQF_SHARED; > retval = request_irq(pci_irq_vector(pdev, 0), rtl8169_interrupt, > - IRQF_SHARED, dev->name, tp); > + irqflags, dev->name, tp); > if (retval < 0) > goto err_release_fw_2; > > -- > 2.29.2 > So all things considered, what do you want to achieve with this change? Is there other benefit with disabling force threading of the rtl8169_interrupt, or are you still looking to add back the napi_schedule_irqoff call?