kernel_optimize_test/drivers/vhost
Jason Wang 70181d5120 vhost_net: remove tx polling state
After commit 2b8b328b61 (vhost_net: handle polling
errors when setting backend), we in fact track the polling state through
poll->wqh, so there's no need to duplicate the work with an extra
vhost_net_polling_state. So this patch removes this and make the code simpler.

This patch also removes the all tx starting/stopping code in tx path according
to Michael's suggestion.

Netperf test shows almost the same result in stream test, but gets improvements
on TCP_RR tests (both zerocopy or copy) especially on low load cases.

Tested between multiqueue kvm guest and external host with two direct
connected 82599s.

zerocopy disabled:

sessions|transaction rates|normalize|
before/after/+improvements
1 | 9510.24/11727.29/+23.3%    | 693.54/887.68/+28.0%   |
25| 192931.50/241729.87/+25.3% | 2376.80/2771.70/+16.6% |
50| 277634.64/291905.76/+5%    | 3118.36/3230.11/+3.6%  |

zerocopy enabled:

sessions|transaction rates|normalize|
before/after/+improvements
1 | 7318.33/11929.76/+63.0%    | 521.86/843.30/+61.6%   |
25| 167264.88/242422.15/+44.9% | 2181.60/2788.16/+27.8% |
50| 272181.02/294347.04/+8.1%  | 3071.56/3257.85/+6.1%  |

Signed-off-by: Jason Wang <jasowang@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-04-11 16:16:22 -04:00
..
Kconfig drivers/vhost: remove depends on CONFIG_EXPERIMENTAL 2013-01-21 14:52:45 -08:00
Kconfig.tcm drivers/vhost: remove depends on CONFIG_EXPERIMENTAL 2013-01-21 14:52:45 -08:00
Makefile tcm_vhost: Initial merge for vhost level target fabric driver 2012-07-29 13:49:10 -07:00
net.c vhost_net: remove tx polling state 2013-04-11 16:16:22 -04:00
tcm_vhost.c tcm_vhost: Avoid VIRTIO_RING_F_EVENT_IDX feature bit 2013-03-28 23:42:47 -07:00
tcm_vhost.h tcm_vhost: Multi-queue support 2013-02-13 11:30:14 -08:00
test.c vhost: Separate vhost-net features from vhost features 2012-07-22 01:21:53 +03:00
test.h vhost test module 2010-12-09 16:00:21 +02:00
vhost.c vhost_net: remove tx polling state 2013-04-11 16:16:22 -04:00
vhost.h vhost_net: handle polling errors when setting backend 2013-01-29 15:43:03 -05:00