From: Paolo Abeni <pab...@redhat.com>
Date: Mon, 29 May 2017 17:27:22 +0200

> In the most common use case, many skb fields are not used by recvmsg(), and
> the few ones actually accessed lays on cold cachelines, which leads to several
> cache miss per packet.
> 
> This patch series attempts to reduce such misses with different strategies:
> * caching the interesting fields in the scratched space
> * avoid accessing at all uninteresting fields
> * prefetching
> 
> Tested using the udp_sink program by Jesper[1] as the receiver, an h/w l4 rx
> hash on the ingress nic, so that the number of ingress nic rx queues hit by 
> the
> udp traffic could be controlled via ethtool -L.
> 
> The udp_sink program was bound to the first idle cpu, to get more
> stable numbers.
> 
> On a single numa node receiver:
> 
> nic rx queues           vanilla                 patched kernel      delta
> 1                       1850 kpps               1850 kpps           0%
> 2                       2370 kpps               2700 kpps           13.9%
> 16                      2000 kpps               2220 kpps           11%
> 
> [1] https://github.com/netoptimizer/network-testing/blob/master/src/udp_sink.c

Eric can you give this a quick review when you get a chance?

Thanks.

Reply via email to