linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/1] vhost: parallel virtqueue handling
@ 2018-11-02 16:07 Vitaly Mayatskikh
  2018-11-02 16:07 ` [PATCH 1/1] vhost: add per-vq worker thread Vitaly Mayatskikh
  2018-11-05  2:51 ` [PATCH 0/1] vhost: parallel virtqueue handling Jason Wang
  0 siblings, 2 replies; 8+ messages in thread
From: Vitaly Mayatskikh @ 2018-11-02 16:07 UTC (permalink / raw)
  To: Michael S . Tsirkin
  Cc: Jason Wang, kvm, virtualization, netdev, linux-kernel, Vitaly Mayatskikh

Hi,

I stumbled across poor performance of virtio-blk while working on a
high-performance network storage protocol. Moving virtio-blk's host
side to kernel did increase single queue IOPS, but multiqueue disk
still was not scaling well. It turned out that vhost handles events
from all virtio queues in one helper thread, and that's pretty much a
big serialization point.

The following patch enables events handling in per-queue thread and
increases IO concurrency, see IOPS numbers:

# num-queues
# bare metal
# virtio-blk
# vhost-blk

1  171k  148k 195k 
2  328k  249k 349k 
3  479k  179k 501k 
4  622k  143k 620k 
5  755k  136k 737k 
6  887k  131k 830k 
7  1004k 126k 926k 
8  1099k 117k 1001k
9  1194k 115k 1055k
10 1278k 109k 1130k
11 1345k 110k 1119k
12 1411k 104k 1201k
13 1466k 106k 1260k
14 1517k 103k 1296k
15 1552k 102k 1322k
16 1480k 101k 1346k

Vitaly Mayatskikh (1):
  vhost: add per-vq worker thread

 drivers/vhost/vhost.c | 123 +++++++++++++++++++++++++++++++-----------
 drivers/vhost/vhost.h |  11 +++-
 2 files changed, 100 insertions(+), 34 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-11-06  2:59 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-02 16:07 [PATCH 0/1] vhost: parallel virtqueue handling Vitaly Mayatskikh
2018-11-02 16:07 ` [PATCH 1/1] vhost: add per-vq worker thread Vitaly Mayatskikh
2018-11-05  2:53   ` Jason Wang
2018-11-05  3:28     ` Vitaly Mayatskih
2018-11-06  2:48       ` Jason Wang
2018-11-06  2:59         ` Vitaly Mayatskih
2018-11-05  2:51 ` [PATCH 0/1] vhost: parallel virtqueue handling Jason Wang
2018-11-05  3:40   ` Vitaly Mayatskih

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).