On 11/08/2013 11:47 AM, Thomas Graf wrote:
Use of skb_zerocopy() avoids the expensive call to memcpy() when
copying the packet data into the Netlink skb. Completes checksum
through skb_checksum_help() if needed.
Netlink messaged must be properly padded and aligned to meet
sanity checks of the user space counterpart.
Cost of memcpy is significantly reduced from:
+ 7.48% vhost-8471 [k] memcpy
+ 5.57% ovs-vswitchd [k] memcpy
+ 2.81% vhost-8471 [k] csum_partial_copy_generic
to:
+ 5.72% ovs-vswitchd [k] memcpy
+ 3.32% vhost-5153 [k] memcpy
+ 0.68% vhost-5153 [k] skb_zerocopy
(megaflows disabled)
Signed-off-by: Thomas Graf <tgraf-G/eBtMaohhA@public.gmane.org>
Cc: Jesse Gross <redacted>
Cc: Eric Dumazet <redacted>
Reviewed-by: Daniel Borkmann <redacted>