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 <[email protected]>:
> 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.
>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev