summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorJoe Damato <jdamato@fastly.com>2023-04-16 19:12:23 +0000
committerTony Nguyen <anthony.l.nguyen@intel.com>2023-04-20 16:20:05 -0700
commite85d3d55875f7a1079edfbc4e4e98d6f8aea9ac7 (patch)
tree4fd518ea5b6597fa120f493c4b7641c423c3a89e /tools/perf/scripts/python
parent4f3ed1293feb9502dc254b05802faf1ad3317ac6 (diff)
downloadkernel-e85d3d55875f7a1079edfbc4e4e98d6f8aea9ac7.tar.gz
ixgbe: Enable setting RSS table to default values
ethtool uses `ETHTOOL_GRXRINGS` to compute how many queues are supported by RSS. The driver should return the smaller of either: - The maximum number of RSS queues the device supports, OR - The number of RX queues configured Prior to this change, running `ethtool -X $iface default` fails if the number of queues configured is larger than the number supported by RSS, even though changing the queue count correctly resets the flowhash to use all supported queues. Other drivers (for example, i40e) will succeed but the flow hash will reset to support the maximum number of queues supported by RSS, even if that amount is smaller than the configured amount. Prior to this change: $ sudo ethtool -L eth1 combined 20 $ sudo ethtool -x eth1 RX flow hash indirection table for eth1 with 20 RX ring(s): 0: 0 1 2 3 4 5 6 7 8: 8 9 10 11 12 13 14 15 16: 0 1 2 3 4 5 6 7 24: 8 9 10 11 12 13 14 15 32: 0 1 2 3 4 5 6 7 ... You can see that the flowhash was correctly set to use the maximum number of queues supported by the driver (16). However, asking the NIC to reset to "default" fails: $ sudo ethtool -X eth1 default Cannot set RX flow hash configuration: Invalid argument After this change, the flowhash can be reset to default which will use all of the available RSS queues (16) or the configured queue count, whichever is smaller. Starting with eth1 which has 10 queues and a flowhash distributing to all 10 queues: $ sudo ethtool -x eth1 RX flow hash indirection table for eth1 with 10 RX ring(s): 0: 0 1 2 3 4 5 6 7 8: 8 9 0 1 2 3 4 5 16: 6 7 8 9 0 1 2 3 ... Increasing the queue count to 48 resets the flowhash to distribute to 16 queues, as it did before this patch: $ sudo ethtool -L eth1 combined 48 $ sudo ethtool -x eth1 RX flow hash indirection table for eth1 with 16 RX ring(s): 0: 0 1 2 3 4 5 6 7 8: 8 9 10 11 12 13 14 15 16: 0 1 2 3 4 5 6 7 ... Due to the other bugfix in this series, the flowhash can be set to use queues 0-5: $ sudo ethtool -X eth1 equal 5 $ sudo ethtool -x eth1 RX flow hash indirection table for eth1 with 16 RX ring(s): 0: 0 1 2 3 4 0 1 2 8: 3 4 0 1 2 3 4 0 16: 1 2 3 4 0 1 2 3 ... Due to this bugfix, the flowhash can be reset to default and use 16 queues: $ sudo ethtool -X eth1 default $ sudo ethtool -x eth1 RX flow hash indirection table for eth1 with 16 RX ring(s): 0: 0 1 2 3 4 5 6 7 8: 8 9 10 11 12 13 14 15 16: 0 1 2 3 4 5 6 7 ... Fixes: 91cd94bfe4f0 ("ixgbe: add basic support for setting and getting nfc controls") Signed-off-by: Joe Damato <jdamato@fastly.com> Reviewed-by: Sridhar Samudrala <sridhar.samudrala@intel.com> Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel) Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
>Merge 3.4-rc5 into driver-core-nextGreg Kroah-Hartman 2012-04-23lib/kobject.c : Remove redundant check in create_diryan 2012-04-10kobject: provide more diagnostic info for kobject_add_internal() failuresDan Williams 2012-03-07lib: reduce the use of module.h wherever possiblePaul Gortmaker 2011-12-21kobject: remove kset_find_obj_hinted()Kay Sievers 2011-06-12Delay struct net freeing while there's a sysfs instance refering to itAl Viro icon: fixed the wrong resolution configurationsTian Tao 2020-02-27drm/hisilicon: Enable the shadowfb for hibmcTian Tao 2020-01-30Merge tag 'drm-next-2020-01-30' of git://anongit.freedesktop.org/drm/drmLinus Torvalds 2020-01-06drm/hisilicon/hibmc: Export VRAM MM information to debugfsThomas Zimmermann 2020-01-06drm/hisilicon/hibmc: Switch to generic fbdev emulationThomas Zimmermann 2020-01-06remove ioremap_nocache and devm_ioremap_nocacheChristoph Hellwig 2019-10-17drm/vram: drop DRM_VRAM_MM_FILE_OPERATIONSGerd Hoffmann 2019-10-03Merge drm/drm-next into drm-misc-nextMaxime Ripard 2019-09-12drm/vram: Move VRAM memory manager to GEM VRAM implementationThomas Zimmermann 2019-08-26drm/hisilicon: Use dev_get_drvdataChuhong Yuan 2019-08-26drm/hisilicon/hibmc: Using module_pci_driver.YueHaibing 2019-07-15drm/hisilicon: drop use of drmP.hSam Ravnborg