This patch series is the first attempt of ovn-controller multi-threading. The intention is to avoid flow re-computing being triggered by unrelated input. An obvious example is that packet-in message from vswitchd to ovn-controller will trigger full round of flow computing before processing the actual packet-in message, such as DHCP request. This becomes a serious problem in large scale environment where each ovn-controller has large amount of flows to compute and install. It will be even worse considering in the future we use ovn-controller packet-in for packet logging.
An alternative approach has been tried but didn't go well, which was discussed in the link below: https://mail.openvswitch.org/pipermail/ovs-dev/2017-May/331813.html --- v1->v2: 1/3 is updated according to review comments 2/3 and 3/3 are not updated yet because the solution is still under discussion Han Zhou (3): ovn-controller: decouple localnet_port update from patch_run ovn-controller: readonly mode binding_run and get_br_int ovn-controller: Use separate thread for packet-in processing. ovn/controller/binding.c | 44 +++++++++++++++++-- ovn/controller/binding.h | 2 +- ovn/controller/ovn-controller.c | 55 +++++++++++++++-------- ovn/controller/ovn-controller.h | 33 ++++++++++++++ ovn/controller/patch.c | 30 +------------ ovn/controller/patch.h | 2 +- ovn/controller/pinctrl.c | 96 +++++++++++++++++++++++++++++++++++++++++ ovn/controller/pinctrl.h | 1 + 8 files changed, 211 insertions(+), 52 deletions(-) -- 2.1.0 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev