[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAGA2gK5gfdaKeQWzT4Dd45AhavD4pYaCVyayf7Hd+q5pPUjfKQ@mail.gmail.com>
Date: Tue, 10 Dec 2013 11:19:29 -0500
From: ajay seshadri <seshajay@...il.com>
To: netdev <netdev@...r.kernel.org>
Subject: Fwd: UDP/IPv6 performance issue
Hi,
I have been testing network performance using my application and other
third party tools like netperf on my systems that have 10G NIC Cards.
It's a simple back to back setup with no switches in between.
I see about 15 to 20% performance degradation for UDP/IPv6 as compared
to UDP/IPv4 for packets of size 1500.
On performing "perf top" analysis for ipv6 traffic, I identified the
following functions as some hot functions:
fib6_force_start_gc()
csum_partial_copy_generic()
udp_v6_flush_pending_frames()
dst_mtu()
csum_partial_copy_generic() shows up because my card doesn't support
checksum offloading for ipv6 packets. In fact turning off rx / tx
checksum offloading for ipv4 showed the same function in the "perf
top" profile, but did not cause any performance degradation.
Now I am CPU bound on packets of size 1500 and I am not using GSO (for
both IPv4 and IPv6). I tried twiddling with the route cache garbage
collection timer values and tried to set the socket options to disable
pmtu discovery and set the mtu for the socket, but it did not make any
difference.
I am wondering if this is a known performance issue or can I fine tune
the system to match UDP / IPv4 performance with UDP / IPv6? As I am
CPU bound, the functions I identified are using up CPU cycles that i
could probably save.
Any help is appreciated.
Thanks,
Ajay
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists