[ovs-dev] 答复: 答复: 答复: [PATCH] socket-util: Introduce emulation and wrapper for recvmmsg().

Yi Yang (杨燚)-云服务集团 yangyi01 at inspur.com
Wed Jan 8 00:27:31 UTC 2020

Ben, I think the patch using recvmmsg is ready for merge if you want, basically 4.15 or later kernels can support TPACKET_V3, I'm not sure if recvmmsg and TPACKET_V3 can coexist, do you mean we can use config HAVE_ TPACKET_V3/2 to build different version for different kernel?

发件人: Ben Pfaff [mailto:blp at ovn.org] 
发送时间: 2020年1月8日 4:11
收件人: Yi Yang (杨燚)-云服务集团 <yangyi01 at inspur.com>
抄送: dev at openvswitch.org
主题: Re: 答复: 答复: [PATCH] socket-util: Introduce emulation and wrapper for recvmmsg().

On Mon, Dec 23, 2019 at 12:22:52AM +0000, Yi Yang (杨燚)-云服务集团 wrote:
> Ben, socket.h in master does include sendmmsg
> https://github.com/openvswitch/ovs/blob/master/include/sparse/sys/sock
> et.h#L165
> Per your explanation, I understood why you call recvmsg there, so I don't have other comments.
> As William explained in his RFC patch, I think TPACKET_V3 is the best way to fix this. I tried af_packet to use veth in OVS DPDK, it's performance is 2 times more than my patch, about 4Gbps, for my patch, veth performance is about 1.47Gbps, af_packet just used TPACKET_V2, TPACKET_V3 should be much better than TPACKET_V2 per William's explanation.

OK.  Do you want to continue working to use recvmmsg() in OVS?  Or do you want to withdraw the idea in favor of TPACKET_V3?  The possible advantage of recvmmsg() is that it's going to be available pretty much everywhere, whereas TPACKET_V3 is a more recent addition to Linux.

More information about the dev mailing list