On Fri, Feb 7, 2020 at 6:43 AM Ilya Maximets <[email protected]> wrote: > > On 2/7/20 12:50 PM, [email protected] wrote: > > From: Yi Yang <[email protected]> > > > > 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: it can't support TSO which is in progress. > > So, this patch effectively breaks TSO functionality in compile time, > i.e. it compiles out the TSO capable function invocation. > I don't think that we should mege that. For this patch to be acceptable, > tpacket implementation should support TSO or it should be possible to > dynamically switch to usual sendmmsg if we want to enable TSO support. > I think it's impossible to support tpacket + TSO, because tpacket pre-allocate a ring buffer with 2K buffer size, and each descriptor can only point to one entry. (If I understand correctly)
So I think we should dynamically switch back to sendmmsg when TSO is enabled. Regards, William _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
