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 4/4] linux-aio: simplify removal of completed iocbs from the list
Date: Thu, 11 Dec 2014 14:22:13 +0100 [thread overview]
Message-ID: <20141211132213.GD23351@noname.redhat.com> (raw)
In-Reply-To: <548998E6.9030408@redhat.com>
Am 11.12.2014 um 14:15 hat Paolo Bonzini geschrieben:
>
>
> On 11/12/2014 14:13, Kevin Wolf wrote:
> >> > +#define QSIMPLEQ_SPLIT_AFTER(head1, head2, elm, field) do { \
> >> > + if (((head1)->sqh_first = (head2)->sqh_first) == NULL) { \
> >> > + (head1)->sqh_last = &(head1)->sqh_first; \
> >> > + } else { \
> >> > + (head1)->sqh_last = &(elm)->field.sqe_next; \
> >> > + if (((head2)->sqh_first = (elm)->field.sqe_next) == NULL) { \
> >> > + (head2)->sqh_last = &(head2)->sqh_first; \
> >> > + } \
> >> > + } \
> >> > +} while (/*CONSTCOND*/0)
> > Wouldn't it be easier to write a macro that doesn't split a queue in
> > two, but simply removes everything up to a given element?
>
> Yeah, though I figured that in the common case you'd have to free those
> elements or otherwise process them. But I left this patch last because
> I wasn't sure about the API. Feel free to ignore it, also given the
> above comment about EAGAIN.
I actually like the idea of this patch.
> > Anyway, if you really want to implement a split operation, I think you
> > also need to break the actual chain, i.e. (head1)->sqh_last.sqe_next =
> > NULL.
Can you please fix this one and send a v2?
The EAGAIN thing doesn't need to be fixed because it's ignored anyway. A
cleanup is unrelated and can be done later. As for the abort() in patch
2, I'll leave the decision to you.
Overall it looks like a nice series.
Kevin
next prev parent reply other threads:[~2014-12-11 13:22 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
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 [this message]
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=20141211132213.GD23351@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.