[ovs-build] Passed: ovsrobot/ovn#921 (series_197009 - b62e2d3)

Travis CI builds at travis-ci.com
Fri Aug 21 22:16:09 UTC 2020


Build Update for ovsrobot/ovn
-------------------------------------

Build: #921
Status: Passed

Duration: 21 mins and 50 secs
Commit: b62e2d3 (series_197009)
Author: Han Zhou
Message: ofctrl: Incremental processing for flow installation by tracking.

With incremental processing for flow computation, the bottle neck of
ovn-controller in large scale environment is in the flow installation
(ofctrl_put()), which does full comparison between the two big flow tables: the
installed flows and desired flows.

This patch implements tracking desired flow changes when flows are
incrementally computed by I-P engine, and then incrementally processing the
flow installation using the tracked information in ofctrl_put(). It falls back
to the full comparison whenever tracking information is unavailable, e.g. when
I-P engine triggers full recompute.

In ovn-scale-test with 1200 HVs and 12k lports, the perf result for binding a
new port:

Beore:
+   96.76%     0.00%  ovn-controller  [unknown]           [k] 0xffffffffffffffff
+   90.21%     0.00%  ovn-controller  ovn-controller      [.] main
+   39.93%     1.19%  ovn-controller  ovn-controller      [.] ofctrl_put
+   31.27%    12.47%  ovn-controller  ovn-controller      [.] ovn_flow_lookup
+   22.12%     3.12%  ovn-controller  ovn-controller      [.] encaps_run
+   18.69%     2.77%  ovn-controller  ovn-controller      [.] minimatch_equal
+   17.63%     4.11%  ovn-controller  ovn-controller      [.] patch_run
+   15.91%     0.00%  ovn-controller  ovn-controller      [.] add_bridge_mappings (inlined)
+   14.03%    12.08%  ovn-controller  ovn-controller      [.] minimask_equal
+   12.41%     0.00%  ovn-controller  ovn-controller      [.] chassis_tunnel_add (inlined)
+   11.40%     0.00%  ovn-controller  ovn-controller      [.] tunnel_add (inlined)
+    9.61%     0.00%  ovn-controller  ovn-controller      [.] ofpacts_equal
+    8.64%     0.39%  ovn-controller  ovn-controller      [.] physical_run
+    8.55%     8.29%  ovn-controller  ovn-controller      [.] next_real_row
+    7.28%     0.00%  ovn-controller  ovn-controller      [.] hmap_first_with_hash (inlined)
+    6.57%     6.57%  ovn-controller  ovn-controller      [.] ovsdb_idl_next_row
+    6.44%     0.00%  ovn-controller  ovn-controller      [.] hmap_next (inlined)
+    6.43%     0.00%  ovn-controller  libc-2.27.so        [.] 0x00007f3f9210ebaa
+    6.40%     1.33%  ovn-controller  ovn-controller      [.] consider_port_binding

After:
+   94.59%     0.00%  ovn-controller  [unknown]           [k] 0xffffffffffffffff
+   83.56%     0.09%  ovn-controller  ovn-controller      [.] main
+   35.37%     3.13%  ovn-controller  ovn-controller      [.] encaps_run
+   27.54%     7.53%  ovn-controller  ovn-controller      [.] patch_run
+   24.86%     0.00%  ovn-controller  ovn-controller      [.] add_bridge_mappings (inlined)
+   20.01%     0.00%  ovn-controller  ovn-controller      [.] chassis_tunnel_add (inlined)
+   18.51%     0.00%  ovn-controller  ovn-controller      [.] tunnel_add (inlined)
+   14.08%     0.17%  ovn-controller  ovn-controller      [.] physical_run
+   11.37%    11.28%  ovn-controller  ovn-controller      [.] next_real_row
+   10.50%     2.59%  ovn-controller  ovn-controller      [.] consider_port_binding
...
+    2.14%     0.32%  ovn-controller  ovn-controller      [.] ofctrl_put                                                                                                                                                                                                                 ▒

Before the optimization, ofctrl_put took 40% of CPU, and now it disappears from the hot spots.

Signed-off-by: Han Zhou <hzhou at ovn.org>
Signed-off-by: 0-day Robot <robot at bytheb.org>

View the changeset: https://github.com/ovsrobot/ovn/compare/65011ded249e...b62e2d3ca502

View the full build log and details: https://travis-ci.com/github/ovsrobot/ovn/builds/180888385?utm_medium=notification&utm_source=email


--

You can unsubscribe from build emails from the ovsrobot/ovn repository going to https://travis-ci.com/account/preferences/unsubscribe?repository=9136199&utm_medium=notification&utm_source=email.
Or unsubscribe from *all* email updating your settings at https://travis-ci.com/account/preferences/unsubscribe?utm_medium=notification&utm_source=email.
Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-build/attachments/20200821/34d711c8/attachment-0001.html>


More information about the build mailing list