summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorTonghao Zhang <xiangxia.m.yue@gmail.com>2018-09-25 14:36:52 +0200
committerDavid S. Miller <davem@davemloft.net>2018-09-27 05:25:55 +0200
commit441abde4cd84824ad010bc7efd6fdd101a1b73e5 (patch)
tree9dac39ae1089553757efab644f8a43315cf7bab3 /arch
parentnet: vhost: factor out busy polling logic to vhost_net_busy_poll() (diff)
downloadlinux-441abde4cd84824ad010bc7efd6fdd101a1b73e5.tar.xz
linux-441abde4cd84824ad010bc7efd6fdd101a1b73e5.zip
net: vhost: add rx busy polling in tx path
This patch improves the guest receive performance. On the handle_tx side, we poll the sock receive queue at the same time. handle_rx do that in the same way. We set the poll-us=100us and use the netperf to test throughput and mean latency. When running the tests, the vhost-net kthread of that VM, is alway 100% CPU. The commands are shown as below. Rx performance is greatly improved by this patch. There is not notable performance change on tx with this series though. This patch is useful for bi-directional traffic. netperf -H IP -t TCP_STREAM -l 20 -- -O "THROUGHPUT, THROUGHPUT_UNITS, MEAN_LATENCY" Topology: [Host] ->linux bridge -> tap vhost-net ->[Guest] TCP_STREAM: * Without the patch: 19842.95 Mbps, 6.50 us mean latency * With the patch: 37598.20 Mbps, 3.43 us mean latency Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions