Hi, every contributor These patches could significantly improve multi-flow throughput of userspace datapath. If you feel it will take too much time to review all patches, I suggest you could look at the 2nd/3rd first, which have the major improvement in these patches. [ovs-dev][PATCH v1 2/6] dpif-netdev: add tunnel_valid flag to skip ip/ipv6 address comparison [ovs-dev][PATCH v1 3/6] dpif-netdev: improve emc lookup performance by contiguous storage of hash value.
Any comments from anyone are appreciated. Best Regards, Wei Yanqin > -----Original Message----- > From: Yanqin Wei <yanqin....@arm.com> > Sent: Tuesday, June 2, 2020 3:10 PM > To: d...@openvswitch.org > Cc: nd <n...@arm.com>; i.maxim...@ovn.org; u9012...@gmail.com; Malvika > Gupta <malvika.gu...@arm.com>; Lijian Zhang <lijian.zh...@arm.com>; > Ruifeng Wang <ruifeng.w...@arm.com>; Lance Yang > <lance.y...@arm.com>; Yanqin Wei <yanqin....@arm.com> > Subject: [ovs-dev][PATCH v1 0/6] Memory access optimization for flow > scalability of userspace datapath. > > OVS userspace datapath is a program with heavy memory access. It needs to > load/store a large number of memory, including packet header, metadata, > EMC/SMC/DPCLS tables and so on. It causes a lot of cache line missing and > refilling, which has a great impact on flow scalability. And in some cases, > EMC > has a negative impact on the overall performance. It is difficult for user to > dynamically manage the enabling of EMC. > > This series of patches improve memory access of userspace datapath as > follows: > 1. Reduce the number of metadata cache line accessed by non-tunnel traffic. > 2. Decrease unnecessary memory load/store for batch/flow. > 3. Modify the layout of EMC data struct. Centralize the storage of hash value. > > In the NIC2NIC traffic tests, the overall performance improvement is observed, > especially in multi-flow cases. > Flows delta > 1-1K flows 5-10% > 10K flows 20% > 100K flows 40% > EMC disable 10% > > Malvika Gupta (1): > [ovs-dev] dpif-netdev: Modify dfc_processing function to void function > > Yanqin Wei (5): > netdev: avoid unnecessary packet batch refilling in netdev feature > check > dpif-netdev: add tunnel_valid flag to skip ip/ipv6 address comparison > dpif-netdev: improve emc lookup performance by contiguous storage of > hash value. > dpif-netdev: skip flow hash calculation in case of smc disabled > dpif-netdev: remove unnecessary key length calculation in fast path > > lib/dp-packet.h | 12 +++-- > lib/dpif-netdev.c | 115 ++++++++++++++++++++++++---------------------- > lib/flow.c | 2 +- > lib/netdev.c | 13 ++++-- > lib/packets.h | 46 ++++++++++++++++--- > 5 files changed, 120 insertions(+), 68 deletions(-) > > -- > 2.17.1 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev