* [PATCH 0/2 v3] ipv4: Cache dst in tunnels @ 2014-01-02 19:48 Tom Herbert 2014-01-02 21:51 ` Rick Jones 2014-01-04 0:42 ` David Miller 0 siblings, 2 replies; 3+ messages in thread From: Tom Herbert @ 2014-01-02 19:48 UTC (permalink / raw) To: davem, netdev, eric.dumazet Version 3 of caching routes in tunnels. Addressed some comments from Eric in this series. There are two patches (variants) in the series: 1) One dst cached for each tunnel. 2) Percpu dst cache per tunnel to avoid false sharing Testing with GRE tunnels on a 32 CPU host with bnx2x (RSS support for GRE) shows a modest improvement in CPU utilization with these patches running 200 TCP_RR netperf clients. Without patches 71.22% CPU utilization 138/180/244 90/95/99% latencies 1.30465e+06 CPU/tps 18318 CPU/tps With patches 69.84% 142/186/249 90/95/99% latencies 1.30827e+06 18732 CPU/tps ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 0/2 v3] ipv4: Cache dst in tunnels 2014-01-02 19:48 [PATCH 0/2 v3] ipv4: Cache dst in tunnels Tom Herbert @ 2014-01-02 21:51 ` Rick Jones 2014-01-04 0:42 ` David Miller 1 sibling, 0 replies; 3+ messages in thread From: Rick Jones @ 2014-01-02 21:51 UTC (permalink / raw) To: Tom Herbert, davem, netdev, eric.dumazet Nothing that calls for a V4, but a couple of nits and such. On 01/02/2014 11:48 AM, Tom Herbert wrote: > Without patches > 71.22% CPU utilization > 138/180/244 90/95/99% latencies The netperf version I have, for which I think I faithfully applied the patches from Google for the percentiles is 50, 90 and 99. raj@tardy:~$ netperf -- -O ? | grep -i laten RT_LATENCY MIN_LATENCY MAX_LATENCY P50_LATENCY P90_LATENCY P99_LATENCY MEAN_LATENCY STDDEV_LATENCY > 1.30465e+06 CPU/tps That is TPS rather than CPU/TPS I am guessing. > 18318 CPU/tps TPS/CPU% > > With patches > 69.84% > 142/186/249 90/95/99% latencies > 1.30827e+06 > 18732 CPU/tps Any idea as to the source of the similarly modest increase in the latencies? Speaking of which, given the overhead of measuring the individual latencies, you might try a pair of runs without them being measured and see if you show a larger delta in tps and/or CPU utilization. raj@tardy:~/netperf2_trunk/src$ ./netperf -i 30,3 -t TCP_RR -- -o throughput,p50_latency,p90_latency,p99_latency; ./netperf -i 30,3 -t TCP_RR -- -o throughput MIGRATED TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to localhost.localdomain () port 0 AF_INET : +/-2.500% @ 99% conf. : interval : demo : first burst 0 Throughput,50th Percentile Latency Microseconds,90th Percentile Latency Microseconds,99th Percentile Latency Microseconds 46248.37,21,22,28 MIGRATED TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to localhost.localdomain () port 0 AF_INET : +/-2.500% @ 99% conf. : interval : demo : first burst 0 Throughput 48098.45 A nitpick from the 1/2 email: > the tunnel is "connected" so that all the rouitng parameters are happy benchmarking, rick jones ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 0/2 v3] ipv4: Cache dst in tunnels 2014-01-02 19:48 [PATCH 0/2 v3] ipv4: Cache dst in tunnels Tom Herbert 2014-01-02 21:51 ` Rick Jones @ 2014-01-04 0:42 ` David Miller 1 sibling, 0 replies; 3+ messages in thread From: David Miller @ 2014-01-04 0:42 UTC (permalink / raw) To: therbert; +Cc: netdev, eric.dumazet From: Tom Herbert <therbert@google.com> Date: Thu, 2 Jan 2014 11:48:18 -0800 (PST) > Version 3 of caching routes in tunnels. Applied, but I really have to wonder when I have to fix up things like this: net/ipv4/ip_tunnel.c: In function ‘ip_tunnel_init’: net/ipv4/ip_tunnel.c:1062:20: warning: assignment from incompatible pointer type [enabled by default] --> --- a/net/ipv4/ip_tunnel.c +++ b/net/ipv4/ip_tunnel.c @@ -1059,7 +1059,7 @@ int ip_tunnel_init(struct net_device *dev) u64_stats_init(&ipt_stats->syncp); } - tunnel->dst_cache = alloc_percpu(struct ip_tunnel_dst *); + tunnel->dst_cache = alloc_percpu(struct ip_tunnel_dst); if (!tunnel->dst_cache) { free_percpu(dev->tstats); return -ENOMEM; ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-01-04 0:42 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-01-02 19:48 [PATCH 0/2 v3] ipv4: Cache dst in tunnels Tom Herbert 2014-01-02 21:51 ` Rick Jones 2014-01-04 0:42 ` David Miller
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).