[ovs-git] Open vSwitch: ofproto: Reduce taking rule references. (master)

dev at openvswitch.org dev at openvswitch.org
Thu Apr 24 16:03:19 UTC 2014


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  83709dfafba5b8b58670cec4a2e95204ef63e6e2 (commit)
       via  1a7c0cd710e19db3ff85606dbfd5fdad964a1eea (commit)
       via  f416c8d616012b0369cd53d43960fc9da166229b (commit)
      from  e58f91a15a38ad2d26d77b77b2f1c84f6c6b06dc (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 83709dfafba5b8b58670cec4a2e95204ef63e6e2
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=83709dfafba5b8b58670cec4a2e95204ef63e6e2
Author: Jarno Rajahalme <jrajahalme at nicira.com>
		
ofproto: Reduce taking rule references.
		
Only take reference to a looked up rule when needed.

This reduces the total CPU utilization of rule_ref/unref calls by 80%,
from 5% of total server CPU capacity to 1% in a netperf TCP_CRR
test stressing the userspace.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ethan Jackson <ethan at nicira.com>

commit 1a7c0cd710e19db3ff85606dbfd5fdad964a1eea
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=1a7c0cd710e19db3ff85606dbfd5fdad964a1eea
Author: Jarno Rajahalme <jrajahalme at nicira.com>
		
ofproto: Make taking rule reference conditional on lookup.
		
Prior to this paths the rule lookup functions have always taken a
reference on the found rule before returning.  Make this conditional,
so that unnecessary refs/unrefs can be avoided in a later patch.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ethan Jackson <ethan at nicira.com>

commit f416c8d616012b0369cd53d43960fc9da166229b
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=f416c8d616012b0369cd53d43960fc9da166229b
Author: Jarno Rajahalme <jrajahalme at nicira.com>
		
ofproto: RCU postpone rule destruction.
		
This allows rules to be used without taking references while RCU
protected.

The last step of destroying an ofproto also needs to be postponed, as
the rule destruction requires the class structure to be available at
the postponed destruction callback.

Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Acked-by: Ethan Jackson <ethan at nicira.com>

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

Summary of changes:
 ofproto/ofproto-dpif-xlate.c |   51 ++++++++++++++++++++-----------------
 ofproto/ofproto-dpif.c       |   58 +++++++++++++++++++++++++++++-------------
 ofproto/ofproto-dpif.h       |    8 +++---
 ofproto/ofproto.c            |   40 +++++++++++++++++++----------
 4 files changed, 100 insertions(+), 57 deletions(-)


hooks/post-receive
-- 
Open vSwitch



More information about the git mailing list