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

dev at openvswitch.org dev at openvswitch.org
Tue Aug 28 22:46:46 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.8 has been updated
       via  af7677628b8c7f12c6e3e5266f94b9c0cd47cc54 (commit)
       via  d9705d49b0e408d229937e71c595fd438bd8cbd3 (commit)
      from  24d4b608a21e6fb5030bec2e422f637c88120464 (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 af7677628b8c7f12c6e3e5266f94b9c0cd47cc54
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=af7677628b8c7f12c6e3e5266f94b9c0cd47cc54
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 d9705d49b0e408d229937e71c595fd438bd8cbd3
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=d9705d49b0e408d229937e71c595fd438bd8cbd3
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