[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