[ovs-dev] [PATCH] xenserver: monitor-external-ids remove redundant ovs-vsctl calls

Ethan Jackson ethan at nicira.com
Fri Sep 17 08:32:36 PDT 2010


The number of ovs-vsctl calls required to add a new vif in
monitor-external-ids grew linearly with the number of vifs in the
system.  Changed to only do O(1) ovs-vsctl calls per vif addition.
---
 ..._share_openvswitch_scripts_monitor-external-ids |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/xenserver/usr_share_openvswitch_scripts_monitor-external-ids b/xenserver/usr_share_openvswitch_scripts_monitor-external-ids
index f91801d..4ac3916 100755
--- a/xenserver/usr_share_openvswitch_scripts_monitor-external-ids
+++ b/xenserver/usr_share_openvswitch_scripts_monitor-external-ids
@@ -227,13 +227,15 @@ def main(argv):
                 if name not in bridges:
                     update_network_uuids(name, ids)
 
-                update_bridge_id(name, ids)
+                if (name not in bridges) or (bridges[name] != ids):
+                    update_bridge_id(name, ids)
 
             bridges = new_bridges
 
         if interfaces != new_interfaces:
             for name,ids in new_interfaces.items():
-                update_iface_id(name, ids)
+                if (name not in interfaces) or (interfaces[name] != ids):
+                    update_iface_id(name, ids)
             interfaces = new_interfaces
  
 if __name__ == '__main__':
-- 
1.7.2.3





More information about the dev mailing list