[ovs-dev] [PATCH v1] netdev-linux: Refactoring the netdev_linux_send in forwarding batch packets

Ben Pfaff blp at ovn.org
Thu Jun 1 02:16:40 UTC 2017


Are you sure that this is the fastest way to interface OVS-DPDK to a
container?  But, even if it is not, optimizations are welcome.

On Thu, Jun 01, 2017 at 09:50:44AM +0800, Gao Zhenyu wrote:
> Here is the backgroud:
> 
> I tried to consume ovs-dpdk(ovs-2.7.0, dpdk-16.11) for container-app and
> here is the topologic
> 
> 
>     netserver
> |-------------------|
> |                  |
> |  container   |
> |--------veth----|
>           |
>           |              |--------------------|
>           |-------veth-|   dpdk-ovs
> |                                                   netperf
>                          |
> |                                               |-------------------|
> 
>  |---------dpdk----|                                               |
> bare-metal   |
> 
> |
> ---------------------
> 
> |                                                               |
> 
> |                                                               |
> 
> physical-nic--------------------------------------------physical-nic
> 
> But the performance is worse than regular OVS and then I found sendmsg cost
> 96% cpu cycles.  Some packets were dropped due to insufficient cpu.
> So I tried to replace sendmsg with sendmmsg, it shows some performance
> improvement like:
> 
> netperf -H 10.100.85.242 -t TCP_STREAM -l 60
> 335.98Mb(sendmsg + ovs-dpdk)   ---->   663Mb(sendmmsg + ovs-dpdk)
> 
> (I turn off the veth's tx offloading because the dpdk would not do
> tx-checksum which introduces tcp-checksum error.   ethtool -K eth1 tx off)
> 
> 
> Thanks
> Zhenyu Gao
> 
> 
> 2017-05-31 23:41 GMT+08:00 Ben Pfaff <blp at ovn.org>:
> 
> > On Wed, May 31, 2017 at 09:50:09AM +0800, Gao Zhenyu wrote:
> > > BTW, I would like to submit another patch to use sendmmsg to replace
> > > sendmsg. Sendmmsg get more benefit on throughput(my draft testing show
> > 100%
> > > improvment). Do you think it is doable?
> >
> > I'm surprised that it makes a big difference, because I tested a similar
> > change years ago and it did not.  However, let's assume that it does.
> > In that case, of course we'd accept a change.  It would be important to
> > retain support for older kernels and non-Linux kernels.
> >


More information about the dev mailing list