Message ID | 149517832870.37403.16008624383220981105.stgit@buzz |
---|---|
State | Awaiting Upstream, archived |
Delegated to: | David Miller |
Headers | show |
On Fri, May 19, 2017 at 12:18 AM, Konstantin Khlebnikov <khlebnikov@yandex-team.ru> wrote: > Replace disable_irq() which waits for threaded irq handlers with > disable_hardirq() which waits only for hardirq part. > > Signed-off-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru> > Fixes: 311191297125 ("e1000: use disable_hardirq() for e1000_netpoll()") Thomas had a similar patch, I don't know why he never sends it out formally. Anyway, Acked-by: Cong Wang <xiyou.wangcong@gmail.com>
On 5/19/2017 21:34, Cong Wang wrote: > On Fri, May 19, 2017 at 12:18 AM, Konstantin Khlebnikov > <khlebnikov@yandex-team.ru> wrote: >> Replace disable_irq() which waits for threaded irq handlers with >> disable_hardirq() which waits only for hardirq part. >> >> Signed-off-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru> >> Fixes: 311191297125 ("e1000: use disable_hardirq() for e1000_netpoll()") > Thomas had a similar patch, I don't know why he never sends it > out formally. Anyway, > > Acked-by: Cong Wang <xiyou.wangcong@gmail.com> > _______________________________________________ > Intel-wired-lan mailing list > Intel-wired-lan@osuosl.org > https://lists.osuosl.org/mailman/listinfo/intel-wired-lan Ack. Let's pick up this patch.
> From: netdev-owner@vger.kernel.org [mailto:netdev- > owner@vger.kernel.org] On Behalf Of Konstantin Khlebnikov > Sent: Friday, May 19, 2017 12:19 AM > To: netdev@vger.kernel.org; intel-wired-lan@lists.osuosl.org; Kirsher, Jeffrey > T <jeffrey.t.kirsher@intel.com> > Cc: Dave Jones <davej@codemonkey.org.uk>; WANG Cong > <xiyou.wangcong@gmail.com>; David S. Miller <davem@davemloft.net>; > Sabrina Dubroca <sd@queasysnail.net> > Subject: [PATCH] e1000e: use disable_hardirq() also for MSIX vectors in > e1000_netpoll() > > Replace disable_irq() which waits for threaded irq handlers with > disable_hardirq() which waits only for hardirq part. > > Signed-off-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru> > Fixes: 311191297125 ("e1000: use disable_hardirq() for e1000_netpoll()") > --- > drivers/net/ethernet/intel/e1000e/netdev.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) Tested-by: Aaron Brown <aaron.f.brown@intel.com>
diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c index b3679728caac..7f185f481b12 100644 --- a/drivers/net/ethernet/intel/e1000e/netdev.c +++ b/drivers/net/ethernet/intel/e1000e/netdev.c @@ -6733,20 +6733,20 @@ static irqreturn_t e1000_intr_msix(int __always_unused irq, void *data) vector = 0; msix_irq = adapter->msix_entries[vector].vector; - disable_irq(msix_irq); - e1000_intr_msix_rx(msix_irq, netdev); + if (disable_hardirq(msix_irq)) + e1000_intr_msix_rx(msix_irq, netdev); enable_irq(msix_irq); vector++; msix_irq = adapter->msix_entries[vector].vector; - disable_irq(msix_irq); - e1000_intr_msix_tx(msix_irq, netdev); + if (disable_hardirq(msix_irq)) + e1000_intr_msix_tx(msix_irq, netdev); enable_irq(msix_irq); vector++; msix_irq = adapter->msix_entries[vector].vector; - disable_irq(msix_irq); - e1000_msix_other(msix_irq, netdev); + if (disable_hardirq(msix_irq)) + e1000_msix_other(msix_irq, netdev); enable_irq(msix_irq); }
Replace disable_irq() which waits for threaded irq handlers with disable_hardirq() which waits only for hardirq part. Signed-off-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru> Fixes: 311191297125 ("e1000: use disable_hardirq() for e1000_netpoll()") --- drivers/net/ethernet/intel/e1000e/netdev.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)