From: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
To: virtualization@lists.linux-foundation.org
Cc: Khoa Huynh <khoa@us.ibm.com>, Christoph Hellwig <hch@lst.de>,
Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>,
"Michael S. Tsirkin" <mst@redhat.com>
Subject: [RFC v2 0/2] virtio: Support releasing lock during kick
Date: Wed, 7 Sep 2011 14:51:39 +0100 [thread overview]
Message-ID: <1315403501-12457-1-git-send-email-stefanha@linux.vnet.ibm.com> (raw)
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
next reply other threads:[~2011-09-07 13:51 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-07 13:51 Stefan Hajnoczi [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1315403501-12457-1-git-send-email-stefanha@linux.vnet.ibm.com \
--to=stefanha@linux.vnet.ibm.com \
--cc=hch@lst.de \
--cc=khoa@us.ibm.com \
--cc=mst@redhat.com \
--cc=virtualization@lists.linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).