summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/bin/stackcollapse-record
diff options
context:
space:
mode:
authorJakub Kicinski <kuba@kernel.org>2026-03-23 17:59:58 -0700
committerJakub Kicinski <kuba@kernel.org>2026-03-23 17:59:59 -0700
commit1a8dd88469bf742fd5eda91cd8e0f720a983ec5a (patch)
tree3ac5b2efb70cdde6c5ed9a197c40498939ed10e9 /tools/perf/scripts/python/bin/stackcollapse-record
parent9027497a25e3c92b5053b2643e0c18f910865625 (diff)
parent10329ce49285e8548da25bdb1cdba3badccfb00c (diff)
Merge branch 'ethtool-dynamic-rss-context-indirection-table-resizing'
Björn Töpel says: ==================== ethtool: Dynamic RSS context indirection table resizing Some NICs (e.g. bnxt) change their RSS indirection table size based on the queue count, because the hardware table is a shared resource. The ethtool core locks ctx->indir_size at context creation, so drivers have to reject channel changes when RSS contexts exist. This series adds resize helpers and wires them up in bnxt. It also adds tracking of the user provided indirection table size to the ethtool core. Patch 1 tracks the user-provided indirection table size (user_size) in ctx->indir_user_size for non-default RSS contexts and in dev->ethtool->rss_indir_user_size for context 0. It is set when the indirection table is configured via netlink or ioctl, and cleared to zero on reset-to-default. IFF_RXFH_CONFIGURED is removed, and replaced with rss_indir_user_size. The flag is redundant now that user_size captures the same information. Patch 2 adds core resize helpers: ethtool_rxfh_indir_can_resize() - read-only validation for context 0 ethtool_rxfh_indir_resize() - fold/unfold context 0 table in place ethtool_rxfh_ctxs_can_resize() - validate all non-default contexts ethtool_rxfh_ctxs_resize() - resize all non-default contexts, with locking and RSS_NTF notifications Patch 3 uses the resize helpers in bnxt_set_channels(). Patch 4 adds HW tests in rss_drv.py (devices without dynamic table sizing are skipped): resize_periodic - fold/unfold with a non-default [3,2,1,0] sub-table (user_size=4), verifying exact content preservation (main + ctx) resize_below_user_size_reject - periodic sub-table with user_size between big and small device table sizes; verifies that shrinking below user_size is rejected even when the table is periodic (main + ctx) resize_nonperiodic_reject - non-periodic table blocks channel reduction, with an extra periodic context to exercise multi-context validation (main + ctx) resize_nonperiodic_no_corruption - failed resize leaves table contents and channel count unchanged (main + ctx) Running the tests: # On real hardware sudo NETIF=eth0 ./rss_drv.py ==================== Link: https://patch.msgid.link/20260320085826.1957255-1-bjorn@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/bin/stackcollapse-record')
0 files changed, 0 insertions, 0 deletions