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

Reply via email to