summaryrefslogtreecommitdiff
path: root/tools/lib/python/kdoc/python_version.py
diff options
context:
space:
mode:
authorJakub Kicinski <kuba@kernel.org>2026-09-25 16:29:57 -0700
committerJakub Kicinski <kuba@kernel.org>2026-09-25 16:29:57 -0700
commitcee5db680df2b2dcd8cbbb274eb8a8e48ae6ab47 (patch)
treead4290aa6c847ac73f5cd516cc042ed395989af6 /tools/lib/python/kdoc/python_version.py
parent42a9fb3382fc2573e92f41d203b095d9a372cfc9 (diff)
parentc8103dd8b9b4e0aa599d4ccdfeffb57eb88b5590 (diff)
Merge branch 'net-ethtool-make-netdev_rss_key_fill-spread-flows-over-all-queues'
Eric Dumazet says: ==================== net: ethtool: make netdev_rss_key_fill() spread flows over all queues netdev_rss_key_fill() hands drivers a uniformly random key. Because the Toeplitz hash is linear over GF(2), a random key is singular for a given header field and queue count with probability 1/2: flows differing only in the low order bits of that field (such as a burst of consecutive ephemeral ports) then cannot reach all RX queues. On one affected 16-queue host, only 4 queues received traffic until the key was replaced. Patch 1 synchronizes proc_do_rss_key() with netdev_rss_key_fill() using an smp_wmb()/smp_rmb() pair and a boolean flag so readers of /proc/sys/net/core/netdev_rss_key print zero bytes until the key is fully populated. Patch 2 keeps the key random but constrains 1008 of its 2048 bits so that, at every 16-bit aligned position and for every power-of-two queue count up to 256, consecutive values of a field ending there visit every queue once. Applying the fixup on the 16-bit grid covers standard 2-tuple/4-tuple hashes as well as encapsulated or bitmap-selected layouts (such as PSP inner TCP ports at byte 78) without enumerating them in the core. The fixup is a bijection onto the set of valid keys, and redraws in the ~1 in 5 case where two 32-bit windows a multiple of 8 bits apart alias. Patch 3 adds RSS key, indirection table, and flow-hash reporting to netdevsim so the selftest can exercise both the host key and ethtool netlink RSS reporting in a virtual machine without hardware. Patch 4 adds a selftest under tools/testing/selftests/drivers/net/rss_key.py checking /proc/sys/net/core/netdev_rss_key and the live RSS key, indirection table, and flow-hash layouts reported by a device via ethtool netlink. ==================== Link: https://patch.msgid.link/20260922163458.3900996-1-edumazet@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'tools/lib/python/kdoc/python_version.py')
0 files changed, 0 insertions, 0 deletions