On Tue, Jan 21, 2020 at 6:40 AM <[email protected]> wrote: > > From: Numan Siddique <[email protected]> > > This patch series tries to improve the time taken to proceess logical > flows by caching the expr tree. For large scale deployments with lots > of logical flows, the logical flow processing to OpenFlow rules > takes a lot of time as it is CPU intensive. > > This patch series tries to improve this by caching the expr tree > generated for each logical flow so that we don't have to generate the > expr tree for each lflow_run(). > > Below are the details of the OVN resource in my setup > > No of logical switches - 49 > No of logical ports - 1191 > No of logical routers - 7 > No of logical ports - 51 > No of ACLs - 1221 > No of Logical flows - 664736 > > On a chassis hosting 7 distributed router ports and around 1090 > port bindings, the no of OVS rules was 921162. > > Without this patch, the function add_logical_flows() took ~15 seconds. > And with this patch it took ~10 seconds. There is a good 34% improvement > in logical flow processing. > > v1 -> v2 > ======= > * Addressed review comments from Han. > > Numan Siddique (2): > expr: Evaluate the condition expression in a separate step. > ovn-controller: Cache logical flow expr tree for each lflow. > > controller/lflow.c | 191 +++++++++++++++++++++++++++--------- > controller/lflow.h | 9 +- > controller/ovn-controller.c | 16 ++- > include/ovn/expr.h | 10 +- > lib/expr.c | 55 ++++++++--- > tests/test-ovn.c | 10 +- > utilities/ovn-trace.c | 5 +- > 7 files changed, 218 insertions(+), 78 deletions(-) > > -- > 2.24.1 > > _______________________________________________ > dev mailing list > [email protected] > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
For v2 of the series: Acked-by: Han Zhou <[email protected]> _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
