virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
* [RFC v2 0/2] virtio: Support releasing lock during kick
@ 2011-09-07 13:51 Stefan Hajnoczi
  2011-09-07 13:51 ` [PATCH v2 1/2] virtio_ring: split virtqueue_kick prepare/notify Stefan Hajnoczi
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Stefan Hajnoczi @ 2011-09-07 13:51 UTC (permalink / raw)
  To: virtualization
  Cc: Khoa Huynh, Christoph Hellwig, Stefan Hajnoczi,
	Michael S. Tsirkin

This patch allows virtio-blk to release its block queue lock while kicking the
host.  This improves scalability on SMP guests who would otherwise spin on the
lock while another vCPU is kicking the host.

This approach can be used for other virtio devices too.  It simply splits the
virtqueue_kick() operation into a prepare step which requires that the lock be
held and the actual notify step which may be performed without the lock.
Existing virtio drivers may continue to use the virtqueue_kick() interface
which now does the prepare and notify steps internally.

I am sending this out as RFC because further performance benchmarking is
required.  Although we have seen good results in the past, gathering number on
a wider range of machines and verifying that there is no regression would be
helpful.

Stefan Hajnoczi (2):
  virtio_ring: split virtqueue_kick prepare/notify
  virtio_blk: unlock vblk->lock during kick

 drivers/block/virtio_blk.c   |   10 ++++++++--
 drivers/virtio/virtio_ring.c |   28 +++++++++++++++++++++-------
 include/linux/virtio.h       |   13 +++++++++++++
 3 files changed, 42 insertions(+), 9 deletions(-)

-- 
1.7.5.4

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

end of thread, other threads:[~2011-09-07 14:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-09-07 13:51 [RFC v2 0/2] virtio: Support releasing lock during kick Stefan Hajnoczi
2011-09-07 13:51 ` [PATCH v2 1/2] virtio_ring: split virtqueue_kick prepare/notify Stefan Hajnoczi
2011-09-07 13:51 ` [PATCH v2 2/2] virtio_blk: unlock vblk->lock during kick Stefan Hajnoczi
2011-09-07 14:01 ` [RFC v2 0/2] virtio: Support releasing lock " Michael S. Tsirkin

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).