[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20170531.124734.427032219057695744.davem@davemloft.net>
Date: Wed, 31 May 2017 12:47:34 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: pabeni@...hat.com
Cc: netdev@...r.kernel.org, edumazet@...gle.com
Subject: Re: [PATCH net-next 0/3] udp: reduce cache pressure
From: Paolo Abeni <pabeni@...hat.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.
Powered by blists - more mailing lists