The goal of this series is to improve UDP performance in the RX path, that
got worse when spectre/meltdown mithigations were introduced.
The main idea is to move almost entirely the cost of skb handling from the
receiver process context into the BH processing, leveraging, for small
packets, a newly introduced, BH managed, skb cache. This is somewhat
similar to copy-break and the implementation details are in the main patch.
Overall this gives a performance improvement up to 20% in for UDP flood
stress test and above 5% for real-life DNS performance tests.
Paolo Abeni (2):
udp: if the rx queue is full, free the skb in
__udp_enqueue_schedule_skb()
udp: implement and use per cpu rx skbs cache
net/ipv4/udp.c | 162 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
net/ipv6/udp.c | 1 -
2 files changed, 160 insertions(+), 3 deletions(-)
--
2.14.3