From: Kevin Wolf <kwolf@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: ming.lei@canonical.com, pl@kamp.de, qemu-devel@nongnu.org,
stefanha@redhat.com
Subject: Re: [Qemu-devel] [PATCH 1/4] linux-aio: queue requests that cannot be submitted
Date: Thu, 11 Dec 2014 14:02:37 +0100 [thread overview]
Message-ID: <20141211130237.GB23351@noname.redhat.com> (raw)
In-Reply-To: <5489937C.9040904@redhat.com>
Am 11.12.2014 um 13:52 hat Paolo Bonzini geschrieben:
>
>
> On 11/12/2014 13:49, Kevin Wolf wrote:
> > > - } else {
> > > - i = ret;
> > > + abort();
> > > }
> >
> > abort() doesn't feel right here.
>
> man doesn't suggest any error that can actually happen.
Yes. I guess I just like to be on the safe side. I would be fine with
dropping requests on the floor and thereby breaking the block device in
this unlikely case if proper error handling is too hard, but killing the
qemu process generally makes me feel uncomfortable.
> > > + QSIMPLEQ_INSERT_TAIL(&s->io_q.pending, laiocb, next);
> > > + s->io_q.idx++;
> > > + if (s->io_q.idx == (s->io_q.plugged ? MAX_QUEUED_IO : 1)) {
> >
> > More naturally written and more obviously correct as (!s->io_q,plugged ||
> > s->io_q.idx >= MAX_QUEUED_IO). Which happens to be what the next patch
> > converts it to, so I won't spend much time thinking about whether this
> > version is actually right.
>
> Sort of. If the queue is blocked due to -EAGAIN, I don't want to
> io_submit every time an operation is queued, hence the ==. The next
> patch adds !s->io_q.blocked, so it can use the more natural and indeed
> more obvious expression.
Oh, I see. I didn't get that this was an optimisation.
Kevin
next prev parent reply other threads:[~2014-12-11 13:03 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-10 14:51 [Qemu-devel] [PATCH 0/4] linux-aio: rewrite and simplify queuing code Paolo Bonzini
2014-12-10 14:51 ` [Qemu-devel] [PATCH 1/4] linux-aio: queue requests that cannot be submitted Paolo Bonzini
2014-12-11 12:49 ` Kevin Wolf
2014-12-11 12:52 ` Paolo Bonzini
2014-12-11 13:02 ` Kevin Wolf [this message]
2014-12-11 13:07 ` Paolo Bonzini
2014-12-10 14:52 ` [Qemu-devel] [PATCH 2/4] linux-aio: track whether the queue is blocked Paolo Bonzini
2014-12-10 14:52 ` [Qemu-devel] [PATCH 3/4] linux-aio: rename LaioQueue idx field to "n" Paolo Bonzini
2014-12-10 14:52 ` [Qemu-devel] [PATCH 4/4] linux-aio: simplify removal of completed iocbs from the list Paolo Bonzini
2014-12-11 13:13 ` Kevin Wolf
2014-12-11 13:15 ` Paolo Bonzini
2014-12-11 13:22 ` Kevin Wolf
2014-12-11 14:07 ` Paolo Bonzini
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=20141211130237.GB23351@noname.redhat.com \
--to=kwolf@redhat.com \
--cc=ming.lei@canonical.com \
--cc=pbonzini@redhat.com \
--cc=pl@kamp.de \
--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).