This series of patches contains optimization to the statistics and status update to OVSDB.
In particular, netdev and ofproto-dpif can now use sequence number or boolean flag to indicate status change. So, ovs-vswitchd can skip the update if there is no status change. This almost halve the cpu usage of the ovs-vswitchd thread when for example only one tunnel is flapping. More importantly, 'disable-stats-update' is added to schema which allows users disable the statistics update. This brings huge reduction on ovs-vswitch cpu consumption!!! When 'disable-stats-update' is set, the 'ovs-appctl stats/require-update' can be used to force a statistics update. Alex Wang (8): netdev: Add 'change_seq' back to netdev. netdev-dpdk: Indicate the change of etheraddr and mtu. ofproto: Use netdev's 'change_seq' to reduce port modification check. ofproto-dpif: Make bfd and cfm notify ofproto-dpif when the status changes. bridge: Remove the 'Instant' stats. bridge: Add configuration to disable the interface stats/status update to OVSDB. bridge: Add command to force statistics update when the 'disable-stats-update' is set. tests/ovs-vswitchd: Add a test for the 'stats/require-update'. lib/bfd.c | 24 +++- lib/bfd.h | 5 +- lib/cfm.c | 22 +++- lib/cfm.h | 4 +- lib/netdev-bsd.c | 5 + lib/netdev-dpdk.c | 5 + lib/netdev-dummy.c | 2 + lib/netdev-linux.c | 1 + lib/netdev-provider.h | 17 +++ lib/netdev-vport.c | 3 + lib/netdev.c | 8 ++ lib/netdev.h | 1 + ofproto/ofproto-dpif.c | 81 ++++++++++-- ofproto/ofproto-provider.h | 20 +-- ofproto/ofproto.c | 28 +++-- ofproto/ofproto.h | 6 +- tests/ovs-vswitchd.at | 45 +++++++ vswitchd/bridge.c | 295 +++++++++++++++++++++----------------------- vswitchd/ovs-vswitchd.8.in | 4 + vswitchd/vswitch.xml | 5 + 20 files changed, 382 insertions(+), 199 deletions(-) -- 1.7.9.5 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev