From: Christoph Hellwig <hch@infradead.org>
To: Rusty Russell <rusty@rustcorp.com.au>
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
Christoph Hellwig <hch@infradead.org>,
Chris Wright <chrisw@sous-sol.org>, Jens Axboe <axboe@kernel.dk>,
Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>,
kvm@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/5] virtio: support unlocked queue kick
Date: Wed, 2 Nov 2011 03:25:44 -0400 [thread overview]
Message-ID: <20111102072544.GA6967@infradead.org> (raw)
In-Reply-To: <87ty6ntdmf.fsf@rustcorp.com.au>
On Wed, Nov 02, 2011 at 01:49:36PM +1030, Rusty Russell wrote:
> I thought it was still a WIP?
The whole series - yes. This patch (and the serial number rewrite): no
- these are pretty much rock solid.
> Since the problem is contention on the lock inside the block layer, the
> simplest solution is to have a separate lock to protect the virtqueue.
As long as we still use a ->request_fn based driver that is not going
to buy us anything, in fact it's going to make things worse.
->request_fn based drivers always have the queue lock held over the
invocation of ->request_fn anyway, and then need it around the call
to __blk_end_request_all. So you might minimally reduce contention
time, but skyrocket the number of lock acquisations when separating
them without changes to the block layer.
With the ->make_request_fn based driver vlkb->lock does't protect
anything but the virtuequeue anyway, but not having to take it
over the wakeup there is a) done easily and b) neatly fits the model.
next prev parent reply other threads:[~2011-11-02 7:26 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-05 19:54 [PATCH 0/5] RFC: ->make_request support for virtio-blk Christoph Hellwig
2011-10-05 19:54 ` [PATCH 1/5] block: add bio_map_sg Christoph Hellwig
2011-10-05 22:51 ` Boaz Harrosh
2011-10-06 13:40 ` Christoph Hellwig
2011-10-05 19:54 ` [PATCH 2/5] virtio: support unlocked queue kick Christoph Hellwig
2011-10-06 8:42 ` Stefan Hajnoczi
[not found] ` <87r52qgaf3.fsf@rustcorp.com.au>
2011-10-06 13:19 ` Michael S. Tsirkin
2011-11-01 14:40 ` Michael S. Tsirkin
2011-11-02 3:19 ` Rusty Russell
2011-11-02 7:25 ` Christoph Hellwig [this message]
2011-11-03 4:01 ` Rusty Russell
2011-11-03 5:15 ` Rusty Russell
2011-11-03 6:45 ` Minchan Kim
2011-10-05 19:54 ` [PATCH 3/5] virtio-blk: remove the unused list of pending requests Christoph Hellwig
2011-10-05 19:54 ` [PATCH 4/5] virtio-blk: reimplement the serial attribute without using requests Christoph Hellwig
2011-10-05 19:54 ` [PATCH 5/5] virtio-blk: implement ->make_request Christoph Hellwig
2011-10-06 1:52 ` Rusty Russell
2011-10-06 13:42 ` Christoph Hellwig
2011-10-06 13:53 ` Jens Axboe
2011-10-05 20:31 ` [PATCH 0/5] RFC: ->make_request support for virtio-blk Vivek Goyal
2011-10-05 21:53 ` Christoph Hellwig
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=20111102072544.GA6967@infradead.org \
--to=hch@infradead.org \
--cc=axboe@kernel.dk \
--cc=chrisw@sous-sol.org \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mst@redhat.com \
--cc=rusty@rustcorp.com.au \
--cc=stefanha@linux.vnet.ibm.com \
/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
all inboxes | Powered by JetHome®