[ovs-git] Open vSwitch: ofproto-dpif: Make sure one-packet flows have zero duration (again). (master)

dev at openvswitch.org dev at openvswitch.org
Tue Aug 21 21:18:04 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, master has been updated
       via  459b16a1e2882e4122440121742e4df92300f335 (commit)
       via  a7752d4ab7a6e7e9aaf83678b57790fc1c56ac83 (commit)
      from  00ed83143a0a2df95304926b4e8de3cdc9b89065 (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 459b16a1e2882e4122440121742e4df92300f335
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=459b16a1e2882e4122440121742e4df92300f335
Author: Ben Pfaff <blp at nicira.com>
ofproto-dpif: Make sure one-packet flows have zero duration (again).
commit 6a0a5bbbc (ofproto-dpif: Make sure one-packet flows have zero
duration.) was supposed to fix failures in the "ofproto-dpif - NetFlow
flow expiration" test, but it didn't fix the whole problem.  That commit
eliminated one reason why a one-packet flow might be shown as having an
nonzero duration, but missed another.

The other reason was that the call to dpif_flow_stats_extract() could
obtain a time later than the time that a new facet was created.  (This
wasn't obvious because dpif_flow_stats_extract() obtained the time
internally instead of taking it from the caller.)  This commit fixes that
problem, by using the facet creation there too for the first packet in
a facet.

This problem has suddenly started showing up in a lot of builds.  I think
it's probably because of the recent change that makes x86-64 skip the timer
optimizations, so that the return value of time_msec() changes every 1 ms,
not just every 100 ms.

I've tested this by running the test in question in a loop for several
minutes, without any failures.

Signed-off-by: Ben Pfaff <blp at nicira.com>

commit a7752d4ab7a6e7e9aaf83678b57790fc1c56ac83
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=a7752d4ab7a6e7e9aaf83678b57790fc1c56ac83
Author: Ben Pfaff <blp at nicira.com>
dpif: Add 'used' argument to dpif_flow_stats_extract().
The following commit will need to use a value other than a literal
time_msec() in one case.  This commit is just preparation.

Factoring the time_msec() call out of the loop in
handle_flow_miss_without_facet() is a really minor optimization.  It isn't
the main point here.

Signed-off-by: Ben Pfaff <blp at nicira.com>


Summary of changes:
 lib/dpif.c             |    7 ++++---
 lib/dpif.h             |    2 +-
 ofproto/ofproto-dpif.c |   43 +++++++++++++++++++++++++------------------
 3 files changed, 30 insertions(+), 22 deletions(-)

Open vSwitch

More information about the git mailing list