From: Andy Zhou Date: Mon, 22 Feb 2016 08:35:28 +0000 (-0800) Subject: ovsdb: avoid unnecessary call to ovsdb_monitor_get_update() X-Git-Url: http://git.cascardo.info/?p=cascardo%2Fovs.git;a=commitdiff_plain;h=8cffdcd071ed47a503edb211bfaa15639d265ee0 ovsdb: avoid unnecessary call to ovsdb_monitor_get_update() Optimizing ovsdb_jsonrpc_mintor_flush_all() by avoiding calling ovsdb_monitor_get_update() on monitors that do not have any unflushed updates. This change saves CPU cycles on ovsdb-server's main loop, but should not introduce any client visible changes. Reported-by: Liran Schour Signed-off-by: Andy Zhou Acked-by: Liran Schour Acked-by: Ben Pfaff --- diff --git a/ovsdb/jsonrpc-server.c b/ovsdb/jsonrpc-server.c index 0d23b77b2..6f46dbc43 100644 --- a/ovsdb/jsonrpc-server.c +++ b/ovsdb/jsonrpc-server.c @@ -1297,6 +1297,10 @@ static struct json * ovsdb_jsonrpc_monitor_compose_update(struct ovsdb_jsonrpc_monitor *m, bool initial) { + if (!ovsdb_monitor_needs_flush(m->dbmon, m->unflushed)) { + return NULL; + } + return ovsdb_monitor_get_update(m->dbmon, initial, &m->unflushed, m->version); }