On Tue, Feb 11, 2020 at 06:21:37PM +0800, yang_y...@126.com wrote: > From: Yi Yang <yangy...@inspur.com> > > We can avoid high system call overhead by using TPACKET_V3 > and using DPDK-like poll to receive and send packets (Note: send > still needs to call sendto to trigger final packet transmission). > > From Linux kernel 3.10 on, TPACKET_V3 has been supported, > so all the Linux kernels current OVS supports can run > TPACKET_V3 without any problem. > > I can see about 30% performance improvement for veth compared to > last recvmmsg optimization if I use TPACKET_V3, it is about 1.98 > Gbps, but it was 1.47 Gbps before. > > Note: Linux kernel TPACKET_V3 can't support TSO, so the performance > is very poor, please turn off tso for veth interfces in case > userspace-tso-enable is set to true. > > Signed-off-by: Yi Yang <yangy...@inspur.com> > Co-authored-by: William Tu <u9012...@gmail.com> > Signed-off-by: William Tu <u9012...@gmail.com> > --- > acinclude.m4 | 12 ++ > configure.ac | 1 + > include/linux/automake.mk | 1 + > include/linux/if_packet.h | 126 +++++++++++++ > include/sparse/linux/if_packet.h | 108 +++++++++++ > lib/netdev-linux-private.h | 22 +++ > lib/netdev-linux.c | 375 > ++++++++++++++++++++++++++++++++++++++- > 7 files changed, 640 insertions(+), 5 deletions(-) > create mode 100644 include/linux/if_packet.h > > Changelog: > - v2->v3 > * Fix build issues in case HAVE_TPACKET_V3 is not defined > * Add tso-related support code > * make sure it can work normally in case userspace-tso-enable is true > > - v1->v2 > * Remove TPACKET_V1 and TPACKET_V2 which is obsolete > * Add include/linux/if_packet.h > * Change include/sparse/linux/if_packet.h > > diff --git a/acinclude.m4 b/acinclude.m4 > index 1212a46..b39bbb9 100644
I applied this patch and tested on travis. Most of them fail. https://travis-ci.org/williamtu/ovs-travis/builds/650613663 Are you able to run travis build? Thanks William _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev