netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net v2 0/3] Fix IRQ vectors
@ 2025-06-24  8:56 Jiawen Wu
  2025-06-24  8:56 ` [PATCH net v2 1/3] net: txgbe: request MISC IRQ in ndo_open Jiawen Wu
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Jiawen Wu @ 2025-06-24  8:56 UTC (permalink / raw)
  To: netdev, andrew+netdev, davem, edumazet, kuba, pabeni, horms
  Cc: mengyuanlou, duanqiangwen, Jiawen Wu

The interrupt vector order was adjusted by [1]commit 937d46ecc5f9 ("net:
wangxun: add ethtool_ops for channel number") in Linux-6.8. Because at
that time, the MISC interrupt acts as the parent interrupt in the GPIO
IRQ chip. When the number of Rx/Tx ring changes, the last MISC
interrupt must be reallocated. Then the GPIO interrupt controller would
be corrupted. So the initial plan was to adjust the sequence of the
interrupt vectors, let MISC interrupt to be the first one and do not
free it.

Later, irq_domain was introduced in [2]commit aefd013624a1 ("net: txgbe:
use irq_domain for interrupt controller") to avoid this problem.
However, the vector sequence adjustment was not reverted. So there is
still one problem that has been left unresolved.

Due to hardware limitations of NGBE, queue IRQs can only be requested
on vector 0 to 7. When the number of queues is set to the maximum 8,
the PCI IRQ vectors are allocated from 0 to 8. The vector 0 is used by
MISC interrupt, and althrough the vector 8 is used by queue interrupt,
it is unable to receive packets. This will cause some packets to be
dropped when RSS is enabled and they are assigned to queue 8.

This patch set fix the above problems.

[1] https://git.kernel.org/netdev/net-next/c/937d46ecc5f9
[2] https://git.kernel.org/netdev/net-next/c/aefd013624a1

v1 -> v2:
- add a patch to fix the issue for ngbe sriov

Jiawen Wu (3):
  net: txgbe: request MISC IRQ in ndo_open
  net: wangxun: revert the adjustment of the IRQ vector sequence
  net: ngbe: specify IRQ vector when the number of VFs is 7

 drivers/net/ethernet/wangxun/libwx/wx_lib.c   | 26 ++++++++++++-------
 drivers/net/ethernet/wangxun/libwx/wx_sriov.c |  4 +++
 drivers/net/ethernet/wangxun/libwx/wx_type.h  |  3 ++-
 drivers/net/ethernet/wangxun/ngbe/ngbe_main.c |  4 +--
 drivers/net/ethernet/wangxun/ngbe/ngbe_type.h |  2 +-
 .../net/ethernet/wangxun/txgbe/txgbe_irq.c    |  8 +++---
 .../net/ethernet/wangxun/txgbe/txgbe_main.c   | 22 +++++++---------
 .../net/ethernet/wangxun/txgbe/txgbe_type.h   |  4 +--
 8 files changed, 42 insertions(+), 31 deletions(-)

-- 
2.48.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2025-06-26  1:57 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-24  8:56 [PATCH net v2 0/3] Fix IRQ vectors Jiawen Wu
2025-06-24  8:56 ` [PATCH net v2 1/3] net: txgbe: request MISC IRQ in ndo_open Jiawen Wu
2025-06-25  8:52   ` Michal Swiatkowski
2025-06-25  9:22     ` Jiawen Wu
2025-06-25 11:11       ` Michal Swiatkowski
2025-06-24  8:56 ` [PATCH net v2 2/3] net: wangxun: revert the adjustment of the IRQ vector sequence Jiawen Wu
2025-06-24  8:56 ` [PATCH net v2 3/3] net: ngbe: specify IRQ vector when the number of VFs is 7 Jiawen Wu
2025-06-25  9:00   ` Michal Swiatkowski
2025-06-25  9:27     ` Jiawen Wu
2025-06-25 11:13       ` Michal Swiatkowski
2025-06-26  1:56         ` Jiawen Wu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).