drivers/net/ethernet/intel/idpf/idpf_txrx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
The code uses the vidx for the IRQ name but that doesn't match ethtool
reporting or netdev naming, this makes it hard to tune the device and
associate queues with IRQs. Sequentially requesting irqs starting from
'0' makes the output consistent.
Before:
ethtool -L eth1 tx 1 combined 3
grep . /proc/irq/*/*idpf*/../smp_affinity_list
/proc/irq/67/idpf-Mailbox-0/../smp_affinity_list:0-55,112-167
/proc/irq/68/idpf-eth1-TxRx-1/../smp_affinity_list:0
/proc/irq/70/idpf-eth1-TxRx-3/../smp_affinity_list:1
/proc/irq/71/idpf-eth1-TxRx-4/../smp_affinity_list:2
/proc/irq/72/idpf-eth1-Tx-5/../smp_affinity_list:3
ethtool -S eth1 | grep -v ': 0'
NIC statistics:
tx_q-0_pkts: 1002
tx_q-1_pkts: 2679
tx_q-2_pkts: 1113
tx_q-3_pkts: 1192 <----- tx_q-3 vs idpf-eth1-Tx-5
rx_q-0_pkts: 1143
rx_q-1_pkts: 3172
rx_q-2_pkts: 1074
After:
ethtool -L eth1 tx 1 combined 3
grep . /proc/irq/*/*idpf*/../smp_affinity_list
/proc/irq/67/idpf-Mailbox-0/../smp_affinity_list:0-55,112-167
/proc/irq/68/idpf-eth1-TxRx-0/../smp_affinity_list:0
/proc/irq/70/idpf-eth1-TxRx-1/../smp_affinity_list:1
/proc/irq/71/idpf-eth1-TxRx-2/../smp_affinity_list:2
/proc/irq/72/idpf-eth1-Tx-3/../smp_affinity_list:3
ethtool -S eth1 | grep -v ': 0'
NIC statistics:
tx_q-0_pkts: 118
tx_q-1_pkts: 134
tx_q-2_pkts: 228
tx_q-3_pkts: 138 <--- tx_q-3 matches idpf-eth1-Tx-3
rx_q-0_pkts: 111
rx_q-1_pkts: 366
rx_q-2_pkts: 120
Signed-off-by: Brian Vazquez <brianvv@google.com>
---
drivers/net/ethernet/intel/idpf/idpf_txrx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/idpf/idpf_txrx.c b/drivers/net/ethernet/intel/idpf/idpf_txrx.c
index c2a1fe3c79ec..c1f8dfc570ce 100644
--- a/drivers/net/ethernet/intel/idpf/idpf_txrx.c
+++ b/drivers/net/ethernet/intel/idpf/idpf_txrx.c
@@ -4093,7 +4093,7 @@ static int idpf_vport_intr_req_irq(struct idpf_vport *vport,
continue;
name = kasprintf(GFP_KERNEL, "%s-%s-%s-%d", drv_name, if_name,
- vec_name, vidx);
+ vec_name, vector);
err = request_irq(irq_num, idpf_vport_intr_clean_queues, 0,
name, q_vector);
--
2.52.0.457.g6b5491de43-goog
> -----Original Message----- > From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf > Of Brian Vazquez via Intel-wired-lan > Sent: Friday, January 23, 2026 9:41 PM > To: Brian Vazquez <brianvv.kernel@gmail.com>; Nguyen, Anthony L > <anthony.l.nguyen@intel.com>; Kitszel, Przemyslaw > <przemyslaw.kitszel@intel.com>; David S. Miller <davem@davemloft.net>; > Eric Dumazet <edumazet@google.com>; Jakub Kicinski <kuba@kernel.org>; > Paolo Abeni <pabeni@redhat.com>; intel-wired-lan@lists.osuosl.org > Cc: David Decotigny <decot@google.com>; Li Li <boolli@google.com>; > Singhai, Anjali <anjali.singhai@intel.com>; Samudrala, Sridhar > <sridhar.samudrala@intel.com>; linux-kernel@vger.kernel.org; > netdev@vger.kernel.org; Tantilov, Emil S <emil.s.tantilov@intel.com>; > Brian Vazquez <brianvv@google.com> > Subject: [Intel-wired-lan] [iwl-net PATCH] idpf: change IRQ naming to > match netdev and ethtool queue numbering > > The code uses the vidx for the IRQ name but that doesn't match ethtool > reporting or netdev naming, this makes it hard to tune the device and > associate queues with IRQs. Sequentially requesting irqs starting from > '0' makes the output consistent. > > Before: > > ethtool -L eth1 tx 1 combined 3 > > grep . /proc/irq/*/*idpf*/../smp_affinity_list > /proc/irq/67/idpf-Mailbox-0/../smp_affinity_list:0-55,112-167 > /proc/irq/68/idpf-eth1-TxRx-1/../smp_affinity_list:0 > /proc/irq/70/idpf-eth1-TxRx-3/../smp_affinity_list:1 > /proc/irq/71/idpf-eth1-TxRx-4/../smp_affinity_list:2 > /proc/irq/72/idpf-eth1-Tx-5/../smp_affinity_list:3 > > ethtool -S eth1 | grep -v ': 0' > NIC statistics: > tx_q-0_pkts: 1002 > tx_q-1_pkts: 2679 > tx_q-2_pkts: 1113 > tx_q-3_pkts: 1192 <----- tx_q-3 vs idpf-eth1-Tx-5 > rx_q-0_pkts: 1143 > rx_q-1_pkts: 3172 > rx_q-2_pkts: 1074 > > After: > > ethtool -L eth1 tx 1 combined 3 > > grep . /proc/irq/*/*idpf*/../smp_affinity_list > > /proc/irq/67/idpf-Mailbox-0/../smp_affinity_list:0-55,112-167 > /proc/irq/68/idpf-eth1-TxRx-0/../smp_affinity_list:0 > /proc/irq/70/idpf-eth1-TxRx-1/../smp_affinity_list:1 > /proc/irq/71/idpf-eth1-TxRx-2/../smp_affinity_list:2 > /proc/irq/72/idpf-eth1-Tx-3/../smp_affinity_list:3 > > ethtool -S eth1 | grep -v ': 0' > NIC statistics: > tx_q-0_pkts: 118 > tx_q-1_pkts: 134 > tx_q-2_pkts: 228 > tx_q-3_pkts: 138 <--- tx_q-3 matches idpf-eth1-Tx-3 > rx_q-0_pkts: 111 > rx_q-1_pkts: 366 > rx_q-2_pkts: 120 > > Signed-off-by: Brian Vazquez <brianvv@google.com> > --- > drivers/net/ethernet/intel/idpf/idpf_txrx.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/intel/idpf/idpf_txrx.c > b/drivers/net/ethernet/intel/idpf/idpf_txrx.c > index c2a1fe3c79ec..c1f8dfc570ce 100644 > --- a/drivers/net/ethernet/intel/idpf/idpf_txrx.c > +++ b/drivers/net/ethernet/intel/idpf/idpf_txrx.c > @@ -4093,7 +4093,7 @@ static int idpf_vport_intr_req_irq(struct > idpf_vport *vport, > continue; > > name = kasprintf(GFP_KERNEL, "%s-%s-%s-%d", drv_name, > if_name, > - vec_name, vidx); > + vec_name, vector); > > err = request_irq(irq_num, idpf_vport_intr_clean_queues, > 0, > name, q_vector); > -- > 2.52.0.457.g6b5491de43-goog I think could be nice to have proper Fixes: tag, but anyway. Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
On Mon, Jan 26, 2026 at 07:27:15AM +0000, Loktionov, Aleksandr wrote: ... > I think could be nice to have proper Fixes: tag, but anyway. > Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com> If this is to be submitted to net (via iwl-net), which I assume is the plan, then please add a Fixes tag. Thanks!
Hey Simon, last version is v3 it does have the Fixes tag now. Thanks! On Tue, Jan 27, 2026 at 12:50 PM Simon Horman <horms@kernel.org> wrote: > > On Mon, Jan 26, 2026 at 07:27:15AM +0000, Loktionov, Aleksandr wrote: > > ... > > > I think could be nice to have proper Fixes: tag, but anyway. > > Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com> > > If this is to be submitted to net (via iwl-net), which I assume is the > plan, then please add a Fixes tag. > > Thanks!
On Tue, Jan 27, 2026 at 06:36:14PM -0500, Brian Vazquez wrote: > Hey Simon, last version is v3 it does have the Fixes tag now. Thanks! Great, thanks. And sorry for not noticing that earlier.
On 1/23/2026 12:40 PM, Brian Vazquez wrote: > Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding. > > > The code uses the vidx for the IRQ name but that doesn't match ethtool > reporting or netdev naming, this makes it hard to tune the device and > associate queues with IRQs. Sequentially requesting irqs starting from > '0' makes the output consistent. > > Before: > > ethtool -L eth1 tx 1 combined 3 > > grep . /proc/irq/*/*idpf*/../smp_affinity_list > /proc/irq/67/idpf-Mailbox-0/../smp_affinity_list:0-55,112-167 > /proc/irq/68/idpf-eth1-TxRx-1/../smp_affinity_list:0 > /proc/irq/70/idpf-eth1-TxRx-3/../smp_affinity_list:1 > /proc/irq/71/idpf-eth1-TxRx-4/../smp_affinity_list:2 > /proc/irq/72/idpf-eth1-Tx-5/../smp_affinity_list:3 > > ethtool -S eth1 | grep -v ': 0' > NIC statistics: > tx_q-0_pkts: 1002 > tx_q-1_pkts: 2679 > tx_q-2_pkts: 1113 > tx_q-3_pkts: 1192 <----- tx_q-3 vs idpf-eth1-Tx-5 > rx_q-0_pkts: 1143 > rx_q-1_pkts: 3172 > rx_q-2_pkts: 1074 > > After: > > ethtool -L eth1 tx 1 combined 3 > > grep . /proc/irq/*/*idpf*/../smp_affinity_list > > /proc/irq/67/idpf-Mailbox-0/../smp_affinity_list:0-55,112-167 > /proc/irq/68/idpf-eth1-TxRx-0/../smp_affinity_list:0 > /proc/irq/70/idpf-eth1-TxRx-1/../smp_affinity_list:1 > /proc/irq/71/idpf-eth1-TxRx-2/../smp_affinity_list:2 > /proc/irq/72/idpf-eth1-Tx-3/../smp_affinity_list:3 > > ethtool -S eth1 | grep -v ': 0' > NIC statistics: > tx_q-0_pkts: 118 > tx_q-1_pkts: 134 > tx_q-2_pkts: 228 > tx_q-3_pkts: 138 <--- tx_q-3 matches idpf-eth1-Tx-3 > rx_q-0_pkts: 111 > rx_q-1_pkts: 366 > rx_q-2_pkts: 120 > > Signed-off-by: Brian Vazquez <brianvv@google.com> > --- > drivers/net/ethernet/intel/idpf/idpf_txrx.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/intel/idpf/idpf_txrx.c b/drivers/net/ethernet/intel/idpf/idpf_txrx.c > index c2a1fe3c79ec..c1f8dfc570ce 100644 > --- a/drivers/net/ethernet/intel/idpf/idpf_txrx.c > +++ b/drivers/net/ethernet/intel/idpf/idpf_txrx.c > @@ -4093,7 +4093,7 @@ static int idpf_vport_intr_req_irq(struct idpf_vport *vport, > continue; > > name = kasprintf(GFP_KERNEL, "%s-%s-%s-%d", drv_name, if_name, > - vec_name, vidx); > + vec_name, vector); I can see how this was confused by reading the surrounding code. The vidx variable name is quite confusing, but that already exists. Other than the above comment, the change LGTM. Reviewed-by: Brett Creeley <brett.creeley@amd.com> > > err = request_irq(irq_num, idpf_vport_intr_clean_queues, 0, > name, q_vector); > -- > 2.52.0.457.g6b5491de43-goog > >
© 2016 - 2026 Red Hat, Inc.