[ovs-dev] 答复: [PATCH v6] Use TPACKET_V3 to accelerate veth for userspace datapath

Ben Pfaff blp at ovn.org
Fri Mar 13 17:47:31 UTC 2020


On Fri, Mar 13, 2020 at 05:47:54PM +0100, Ilya Maximets wrote:
> On 3/13/20 5:22 PM, William Tu wrote:
> > On Fri, Mar 13, 2020 at 8:57 AM Ben Pfaff <blp at ovn.org> 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.
> 
> With such a small performance benefit does it make sense to have
> these 700 lines of code that is so hard to read and maintain?

Rarely used code with minimal benefit is a burden, so I'd skip it for
now.  If we figure out some way to a bigger benefit later, we can
revisit it.


More information about the dev mailing list