Netdev List
 help / color / mirror / Atom feed
From: "Jari Seppälä" <jase@nocloud.org>
To: netdev@vger.kernel.org
Cc: "Jari Seppälä" <jase@nocloud.org>,
	kuba@kernel.org, sgoutham@marvell.com, gakula@marvell.com,
	rkannoth@marvell.com, sbhatta@marvell.com, bbhushan2@marvell.com,
	linux-yocto@lists.yoctoproject.org
Subject: [PATCH net RESEND] octeontx2-pf: Fix RSS indirection table size
Date: Mon, 28 Sep 2026 11:47:11 +0300	[thread overview]
Message-ID: <20260928084711.2462571-1-jase@nocloud.org> (raw)
In-Reply-To: <20260927154803.4b4bdf35@kernel.org>

The conversion to the dedicated RSS context operations replaced the
pointer to struct otx2_rss_ctx with an inline u32 ind_tbl[] array.
However, otx2_rss_init() still uses sizeof(*rss->ind_tbl) to set rss_size.
This now yields the size of one u32 (4), rather than the 256 entries in
the indirection table.

The RSS initialization and hardware programming loops use rss_size,
so only four entries are initialized and programmed despite the NIX LF
being allocated a 256-entry table. On an OCTEON CN102 with eight RX
queues, the table contained 0, 1, 2, 3 followed by zeros. Traffic was
concentrated on queue 0 and ethtool -X equal 8 did not correct the table.

Use ARRAY_SIZE() to count the indirection table entries. On the same
hardware, this restores the full table repeating queue numbers 0 through
7, and bidirectional multi-flow traffic increments multiple RX queues.

Fixes: 62e01d8c4170 ("eth: otx2: migrate to the *_rxfh_context ops")
Cc: stable@vger.kernel.org
Closes: https://lore.kernel.org/netdev/361df563-e29e-43bf-8806-24bdfefed33d@nocloud.org/
Signed-off-by: Jari Seppälä <jase@nocloud.org>
---
Resending with git send-email because the previous email had a mangled
diff. The code change and commit message are unchanged.

This is the formal patch requested in response to the bug report with
Message-ID <361df563-e29e-43bf-8806-24bdfefed33d@nocloud.org>.

Runtime testing was on an Asterfusion ET2500 (OCTEON CN102 A0), using
Yocto BSP commit 9a05f15b453377f50632ebbb57c87b7ec3270492 plus the
existing local board/build fixes. The kernel configuration was unchanged
between the before/after tests. The resulting kernel was
6.18.52-cn102-yocto-kvm, package revision 6.18.52-5.

The table was checked with ethtool after reboot, then bidirectional
four-stream UDP traffic was used to check hardware RX queue counters.
The upstream net tree has not been boot-tested on this device. Full
upstream allyesconfig/allmodconfig W=1 builds have not been run.

The diagnosis and patch were prepared with AI assistance and validated
on the physical device as described above.

 drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
index 175992188..0e78a0531 100644
--- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
+++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
@@ -394,7 +394,7 @@ int otx2_rss_init(struct otx2_nic *pfvf)
 	struct otx2_rss_info *rss = &pfvf->hw.rss_info;
 	int idx, ret = 0;
 
-	rss->rss_size = sizeof(*rss->ind_tbl);
+	rss->rss_size = ARRAY_SIZE(rss->ind_tbl);
 
 	/* Init RSS key if it is not setup already */
 	if (!rss->enable)

base-commit: a7bfaba4823e3c165bb2004c74eff7c096672bc7
-- 
2.47.3


  reply	other threads:[~2026-09-28  8:47 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-26  9:14 [PATCH net] octeontx2-pf: Fix RSS indirection table size Jari Seppälä
2026-09-27 22:48 ` Jakub Kicinski
2026-09-28  8:47   ` Jari Seppälä [this message]
2026-09-29  2:36     ` [PATCH net RESEND] " Ratheesh Kannoth
2026-10-01  0:30     ` patchwork-bot+netdevbpf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260928084711.2462571-1-jase@nocloud.org \
    --to=jase@nocloud.org \
    --cc=bbhushan2@marvell.com \
    --cc=gakula@marvell.com \
    --cc=kuba@kernel.org \
    --cc=linux-yocto@lists.yoctoproject.org \
    --cc=netdev@vger.kernel.org \
    --cc=rkannoth@marvell.com \
    --cc=sbhatta@marvell.com \
    --cc=sgoutham@marvell.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox