[iwl-net PATCH] idpf: change IRQ naming to match netdev and ethtool queue numbering

Brian Vazquez posted 1 patch 2 weeks ago
There is a newer version of this series
drivers/net/ethernet/intel/idpf/idpf_txrx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[iwl-net PATCH] idpf: change IRQ naming to match netdev and ethtool queue numbering
Posted by Brian Vazquez 2 weeks ago
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
RE: [Intel-wired-lan] [iwl-net PATCH] idpf: change IRQ naming to match netdev and ethtool queue numbering
Posted by Loktionov, Aleksandr 1 week, 4 days ago

> -----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>

Re: [Intel-wired-lan] [iwl-net PATCH] idpf: change IRQ naming to match netdev and ethtool queue numbering
Posted by Simon Horman 1 week, 3 days ago
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!
Re: [Intel-wired-lan] [iwl-net PATCH] idpf: change IRQ naming to match netdev and ethtool queue numbering
Posted by Brian Vazquez 1 week, 3 days ago
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!
Re: [Intel-wired-lan] [iwl-net PATCH] idpf: change IRQ naming to match netdev and ethtool queue numbering
Posted by Simon Horman 1 week, 2 days ago
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.
Re: [iwl-net PATCH] idpf: change IRQ naming to match netdev and ethtool queue numbering
Posted by Creeley, Brett 2 weeks ago

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
>
>