[ovs-git] Open vSwitch: ofproto: Increase default flow-eviction-threshold. (master)

dev at openvswitch.org dev at openvswitch.org
Mon Apr 1 22:59:51 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  27a88d1373cbfcceac6d901bbf1c17051aa7845f (commit)
       via  e20b5746021eadbb1b0a7694ef46982e1088cf2f (commit)
       via  8fa4d1d0bf8f47c8404dbdf6a12cb60106617f8c (commit)
       via  8844e035421b9f2bf15edb1513146d865c5886d5 (commit)
      from  c86073a000bece35808c572a3f9313c44097aa1c (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 27a88d1373cbfcceac6d901bbf1c17051aa7845f
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=27a88d1373cbfcceac6d901bbf1c17051aa7845f
Author: Ethan Jackson <ethan at nicira.com>
ofproto: Increase default flow-eviction-threshold.
The flow-eviction-threshold presents a trade off between the
expense of maintaining large numbers of datapath flows, and the
benefit of avoid unnecessary flow misses.  In some large Open
vSwitch deployments, we've seen the previous default flow eviction
threshold negatively impact performance with reasonably typical
traffic patterns.  This patch increases the default to a level
which should represent a better trade off: still relatively safe,
but much more amenable to large numbers of long lived flows.

Signed-off-by: Ethan Jackson <ethan at nicira.com>

commit e20b5746021eadbb1b0a7694ef46982e1088cf2f
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=e20b5746021eadbb1b0a7694ef46982e1088cf2f
Author: Ethan Jackson <ethan at nicira.com>
ofproto-dpif: Push statistics less frequently.
The most natural place to push facet statistics is in
update_stats() where they're pulled from the datapath.  However,
under load, update_stats() can be called as many as 10 times per
second causing us to push statistics so frequently it hurts
performance.  By pushing statistics much less frequently, this
patch generates a roughly 8% improvement in TCP_CRR performance.

Signed-off-by: Ethan Jackson <ethan at nicira.com>

commit 8fa4d1d0bf8f47c8404dbdf6a12cb60106617f8c
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=8fa4d1d0bf8f47c8404dbdf6a12cb60106617f8c
Author: Ethan Jackson <ethan at nicira.com>
ofproto-dpif: Run fast internally.
ofproto-dpif is responsible for quite a few book keeping tasks in
addition to handling flow misses.  Many of these tasks (flow
expiration, flow revalidation, etc) can take many hundreds of
milliseconds, during which no misses can be handled.  The ideal
long term solution to this problem, is to isolate flow miss
handling into it's own thread.  However, for now this patch
provides a 5% increase in TCP_CRR performance, and smooths out
results during revalidations.

Signed-off-by: Ethan Jackson <ethan at nicira.com>

commit 8844e035421b9f2bf15edb1513146d865c5886d5
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=8844e035421b9f2bf15edb1513146d865c5886d5
Author: Ethan Jackson <ethan at nicira.com>
ofproto-dpif: Systematically push stats upon request.
Commit bf1e8ff (ofproto-dpif: Push statistics in rule_get_stats()),
started down the road towards pushing stats on demand, but it
didn't go quite far enough.  First, it neglected to push stats in
port_get_stats() and mirror_get_stats().  Second, it only pushes
stats for a single ofproto, making it incomplete when patch ports
are used.

Signed-off-by: Ethan Jackson <ethan at nicira.com>


Summary of changes:
 ofproto/ofproto-dpif.c |  114 +++++++++++++++++++++++++++++++++++++++++-------
 ofproto/ofproto.h      |    2 +-
 2 files changed, 99 insertions(+), 17 deletions(-)

Open vSwitch

More information about the git mailing list