From 8cffdcd071ed47a503edb211bfaa15639d265ee0 Mon Sep 17 00:00:00 2001 From: Andy Zhou Date: Mon, 22 Feb 2016 00:35:28 -0800 Subject: [PATCH] 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 --- ovsdb/jsonrpc-server.c | 4 ++++ 1 file changed, 4 insertions(+) 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); } -- 2.20.1