qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: Ming Lei <ming.lei@canonical.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Fam Zheng <famz@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	qemu-devel <qemu-devel@nongnu.org>,
	Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v2 1/3] block: block: introduce bdrv_io_plug() and bdrv_io_unplug()
Date: Wed, 02 Jul 2014 10:56:18 +0200	[thread overview]
Message-ID: <53B3C932.7000700@redhat.com> (raw)
In-Reply-To: <CACVXFVOm0Ekd1-8bQ2n5gPWLy0qFJb878a8sMvJQrRr1Pmtk4w@mail.gmail.com>

Il 02/07/2014 10:39, Ming Lei ha scritto:
> Then start to read payload in original path, but no plug/unplug any
> more. Also another request may follows, and another plug&unplug
> comes too, which makes thing more complicated, so I suggest to
> enable plug&unplug only for raw driver now.

That's just a performance issue (and actually one that wasn't in 2.0 
because qcow2 on dataplane wasn't supported there).  In many cases the 
cache hit of the qcow2 metadata cache can be very high, and avoiding 
plug/unplug would prevent an easy performance bonus.

I don't especially like plug/unplug as an API (I think it's better to 
extend aio_multiwrite to include other kind of requests), but:

- either we have qualms on the correctness of it, and then we should 
live with the regressions

- or if the patches are not messy and reverting them is easy, we should 
go for it.  This is what we did for dataplane in the first place, and we 
can keep doing it in the 2.1 dataplane code.

> > If you could make it an assertion, that would also be great.  (BTW, it's
> > probably best to add a nesting count to plug/unplug).
>
> I'd rather to add it in future if we really need that.

I think this is a matter of correctness as Kevin's review pointed out.

Paolo

  reply	other threads:[~2014-07-02  8:56 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-01  7:51 [Qemu-devel] [PATCH v2 0/3] linux-aio: introduce submit I/O at batch Ming Lei
2014-07-01  7:51 ` [Qemu-devel] [PATCH v2 1/3] block: block: introduce bdrv_io_plug() and bdrv_io_unplug() Ming Lei
2014-07-01 11:18   ` Kevin Wolf
2014-07-01 13:31     ` Ming Lei
2014-07-01 14:39       ` Ming Lei
2014-07-01 15:21         ` Kevin Wolf
2014-07-01 16:56           ` Paolo Bonzini
2014-07-02  0:46             ` Ming Lei
2014-07-02  2:35               ` Ming Lei
2014-07-02  8:18               ` Paolo Bonzini
2014-07-02  8:38                 ` Kevin Wolf
2014-07-02  8:49                   ` Paolo Bonzini
2014-07-02  8:39                 ` Ming Lei
2014-07-02  8:56                   ` Paolo Bonzini [this message]
2014-07-02  9:12                     ` Kevin Wolf
2014-07-02  9:29                       ` Ming Lei
2014-07-02  9:49                         ` Kevin Wolf
2014-07-02 10:02                           ` Ming Lei
2014-07-02 10:24                             ` Paolo Bonzini
2014-07-02 10:28                               ` Ming Lei
2014-07-02  9:26                     ` Ming Lei
2014-07-01  7:51 ` [Qemu-devel] [PATCH v2 2/3] linux-aio: implement io plug and unplug Ming Lei
2014-07-01  7:51 ` [Qemu-devel] [PATCH v2 3/3] dataplane: submit I/O at batch Ming Lei

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=53B3C932.7000700@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=famz@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=ming.lei@canonical.com \
    --cc=mst@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.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;
as well as URLs for NNTP newsgroup(s).