[ovs-git] Open vSwitch: ofproto-dpif-governor: Improve performance when most flows get set up. (branch-1.7)

dev at openvswitch.org dev at openvswitch.org
Tue Jun 26 00:10:33 UTC 2012


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, branch-1.7 has been updated
       via  3d5ce148f44985d8ec4bef10db81b54d3aab51f5 (commit)
      from  47f200357a3a19e9553c96b9749397c4812ebfce (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 3d5ce148f44985d8ec4bef10db81b54d3aab51f5
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=3d5ce148f44985d8ec4bef10db81b54d3aab51f5
Author: Ben Pfaff <blp at nicira.com>
		
ofproto-dpif-governor: Improve performance when most flows get set up.
		
The "flow setup governor" was introduced to avoid the cost of setting up
short flows when there are many of them.  It works very well for short
flows, in fact.  However, when the bulk of flows are short, but still long
enough to be set up by the governor, we end up with the worst of both
worlds: OVS processes the first 5 packets of every flow "by hand" and then
it still has to set up a flow.

This commit refines the flow setup governor so that, when most of the flows
that go through it actually get set up, it in turn starts setting up most
flows at the first packet.  When it does this, it continues to sample a
small fraction of the flows in the governor's usual manner, so that if the
behavior changes it can react to it.

This increases netperf TCP_CRR transactions per second by about 25% in my
test setup, without affecting "ovs-benchmark rate" performance.

(I found that to get relatively stable performance for TCP_CRR, regardless
of whether Open vSwitch or any kind of bridging was involved, I had to pin
the netperf processes on each side of the link to a single core.  I found
that my NIC's interrupts were already pinned.  Thanks to Luca Giraudo
<lgiraudo at nicira.com> for these hints.)

Bug #12080.
Reported-by: Gurucharan Shetty <gshetty at nicira.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


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

Summary of changes:
 ofproto/ofproto-dpif-governor.c |   43 ++++++++++++++++++++++++++++++--------
 ofproto/ofproto-dpif-governor.h |    5 ++++
 2 files changed, 39 insertions(+), 9 deletions(-)


hooks/post-receive
-- 
Open vSwitch



More information about the git mailing list