[ovs-git] Open vSwitch: bridge: Monitor fewer OVSDB columns. (master)

dev at openvswitch.org dev at openvswitch.org
Fri Apr 8 21:01:03 UTC 2011

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  62f3aaedacdd1369e2cd65a01b29c3034735d53b (commit)
       via  1cc618c32524076d14ba3ee30e672a554b8ee605 (commit)
      from  898ba403b07d89939b6de2abaf899a5d81a9730e (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 62f3aaedacdd1369e2cd65a01b29c3034735d53b
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=62f3aaedacdd1369e2cd65a01b29c3034735d53b
Author: Ben Pfaff <blp at nicira.com>
bridge: Monitor fewer OVSDB columns.
By omitting columns that ovs-vswitchd does not use at all, and omitting
alerts for columns that ovs-vswitchd writes to but does not read, we can
save CPU time and bandwidth.

commit 1cc618c32524076d14ba3ee30e672a554b8ee605
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=1cc618c32524076d14ba3ee30e672a554b8ee605
Author: Ben Pfaff <blp at nicira.com>
ovsdb-idl: Fix atomicity of writes that don't change a column's value.
The existing ovsdb_idl_txn_commit() drops any writes that don't change a
column's value from what was last reported by the database.  But this isn't
a valid optimization, because it breaks the atomicity of transactions.
Suppose columns A and B initially have values 1 and 2.  Client 1 writes
value 1 to both columns in one transaction.  Client 2 writes value 2 to
both columns in another transaction.  The only possible valid results for
any serial ordering of transactions are 1,1 or 2,2.  But if both clients
drop writes to columns that they have not modified, then 2,1 also becomes
possible (because client 1 just writes to B and client 2 just writes to A).

However, for write-only columns we can optimize this out because the IDL
can assume it is the only client writing to a column.

Found by inspection.


Summary of changes:
 lib/ovsdb-idl.c   |   19 ++++++++++++++++---
 vswitchd/bridge.c |   38 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 54 insertions(+), 3 deletions(-)

Open vSwitch

More information about the git mailing list