[ovs-git] Open vSwitch: datapath: Compute checksum in skb_gso_segment() if needed (master)

dev at openvswitch.org dev at openvswitch.org
Tue Dec 17 01:20:49 UTC 2013


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Open vSwitch".

The branch, master has been updated
       via  1d04cd4e722c63e8d5564c6c993b04a891f1e867 (commit)
       via  533bea51e95c69ad2c6d8589a11ae25e4dc8db37 (commit)
       via  5ae440c3cd0d0cd9a3218577bdc1db5fe38387f5 (commit)
       via  94358dcffbec33cbcfd425e925139fd7e9d6153f (commit)
       via  c58cc9a460fd158e5250e59902e96ac677dc115f (commit)
       via  ffc117c13919c94b66f0b00841ea3343c8dd47c2 (commit)
      from  316078c7252ebca1e12f07928512955077f4ce5f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 1d04cd4e722c63e8d5564c6c993b04a891f1e867
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=1d04cd4e722c63e8d5564c6c993b04a891f1e867
Author: Thomas Graf <tgraf at suug.ch>
		
datapath: Compute checksum in skb_gso_segment() if needed
		
The copy & csum optimization is no longer present with zerocopy
enabled. Compute the checksum in skb_gso_segment() directly by
dropping the HW CSUM capability from the features passed in.

Signed-off-by: Thomas Graf <tgraf at suug.ch>
Signed-off-by: Jesse Gross <jesse at nicira.com>


commit 533bea51e95c69ad2c6d8589a11ae25e4dc8db37
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=533bea51e95c69ad2c6d8589a11ae25e4dc8db37
Author: Thomas Graf <tgraf at suug.ch>
		
datapath: Use skb_zerocopy() for upcall
		
Use of skb_zerocopy() can avoid the expensive call to memcpy()
when copying the packet data into the Netlink skb. Completes
checksum through skb_checksum_help() if not already done in
GSO segmentation.

Zerocopy is only performed if user space supported unaligned
Netlink messages. memory mapped netlink i/o is preferred over
zerocopy if it is set up.

Cost of upcall 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 at suug.ch>
Signed-off-by: Jesse Gross <jesse at nicira.com>


commit 5ae440c3cd0d0cd9a3218577bdc1db5fe38387f5
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=5ae440c3cd0d0cd9a3218577bdc1db5fe38387f5
Author: Thomas Graf <tgraf at suug.ch>
		
datapath: Pass datapath into userspace queue functions
		
Allows removing the net and dp_ifindex argument and simplify the
code.

Signed-off-by: Thomas Graf <tgraf at suug.ch>
Signed-off-by: Jesse Gross <jesse at nicira.com>


commit 94358dcffbec33cbcfd425e925139fd7e9d6153f
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=94358dcffbec33cbcfd425e925139fd7e9d6153f
Author: Thomas Graf <tgraf at suug.ch>
		
datapath: Drop user features if old user space attempted to create datapath
		
Drop user features if an outdated user space instance that does not
understand the concept of user_features attempted to create a new
datapath.

Signed-off-by: Thomas Graf <tgraf at suug.ch>
Reviewed-by: Daniel Borkmann <dborkman at redhat.com>
Signed-off-by: Jesse Gross <jesse at nicira.com>


commit c58cc9a460fd158e5250e59902e96ac677dc115f
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=c58cc9a460fd158e5250e59902e96ac677dc115f
Author: Thomas Graf <tgraf at suug.ch>
		
datapath: Allow user space to announce ability to accept unaligned Netlink messages
		
Signed-off-by: Thomas Graf <tgraf at suug.ch>
Reviewed-by: Daniel Borkmann <dborkman at redhat.com>
Signed-off-by: Jesse Gross <jesse at nicira.com>


commit ffc117c13919c94b66f0b00841ea3343c8dd47c2
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=ffc117c13919c94b66f0b00841ea3343c8dd47c2
Author: Jesse Gross <jesse at nicira.com>
		
datapath: Backport skb_zerocopy() functions.
		
These functions will be factored out and exported upstream. On
kernels 3.5 and newer the backport will provide zero copy support
but older kernels will work as before (due to lack of skb->head_frag).

Signed-off-by: Jesse Gross <jesse at nicira.com>


-----------------------------------------------------------------------

Summary of changes:
 datapath/datapath.c                          |  106 +++++++++++++++++++-------
 datapath/datapath.h                          |    2 +
 datapath/linux/compat/include/linux/skbuff.h |    6 ++
 datapath/linux/compat/skbuff-openvswitch.c   |   95 +++++++++++++++++++++++
 include/linux/openvswitch.h                  |   14 +++-
 5 files changed, 194 insertions(+), 29 deletions(-)


hooks/post-receive
-- 
Open vSwitch



More information about the git mailing list