On Fri, Mar 13, 2020 at 8:57 AM Ben Pfaff <[email protected]> wrote:
>
> On Fri, Mar 13, 2020 at 01:04:07AM +0000, Yi Yang (杨燚)-云服务集团 wrote:
> > Per my understanding, Ben meant a build system (which isn't Linux
> > probably, it doesn't have include/linux/if_packet.h) should be able to
> > build tpacket_v3 code in order that built-out binary can work on Linux
> > system with tpacket_v3 feature, this is Ben's point, that is why he
> > wanted me to add include/linux/if_packet.h in ovs repo.
> >
> > Ben, can you help double confirm if include/linux/if_packet.h in ovs
> > is necessary?
>
> I think my meaning was misunderstood.  Linux always has if_packet.h.
> Only recent enough Linux has TPACKET_V3 in if_packet.h.  If the system
> is Linux but the TPACKET_V3 types and constants are not defined in
> if_packet.h, then the build system should define them.

Thanks!

My suggestion is that if the system is Linux but the TPACKET_V3 types
and constants are not defined in if_packet.h, then just skip using
TPACKET_V3 and
use the current recvmmsg approach.  Because when we start  TPACKET_V3 patch,
the af_packet on veth performance is about 200Mbps, so tpacket_v3 has huge
performance benefits.

With YiYang's patch
"Use batch process recv for tap and raw socket in netdev datapath"
the af_packet on veth improves to 1.47Gbps. And tpacket_v3 shows
similar or 7% better performance. So there isn't a huge benefits now.

William
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to