Merge branch 'net-group-together-hot-data'
authorJakub Kicinski <kuba@kernel.org>
Fri, 8 Mar 2024 05:12:45 +0000 (21:12 -0800)
committerJakub Kicinski <kuba@kernel.org>
Fri, 8 Mar 2024 05:12:46 +0000 (21:12 -0800)
commite8bb2ccff7216d520a7bc33c22484dafebe8147e
tree29b291f5ccbeb9324f98f48e352a84d311314f69
parentd3423ed9b89d27d0fd8386dbb9bee89728c92b87
parentce7f49ab741591d83e33e56948bac2f12de6e14e
Merge branch 'net-group-together-hot-data'

Eric Dumazet says:

====================
net: group together hot data

While our recent structure reorganizations were focused
on increasing max throughput, there is still an
area where improvements are much needed.

In many cases, a cpu handles one packet at a time,
instead of a nice batch.

Hardware interrupt.
 -> Software interrupt.
   -> Network/Protocol stacks.

If the cpu was idle or busy in other layers,
it has to pull many cache lines.

This series adds a new net_hotdata structure, where
some critical (and read-mostly) data used in
rx and tx path is packed in a small number of cache lines.

Synthetic benchmarks will not see much difference,
but latency of single packet should improve.

net_hodata current size on 64bit is 416 bytes,
but might grow in the future.

Also move RPS definitions to a new include file.
====================

Link: https://lore.kernel.org/r/20240306160031.874438-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>