From: Paolo Bonzini <pbonzini@redhat.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Mark McLoughlin <markmc@redhat.com>, qemu-devel@nongnu.org
Subject: [Qemu-devel] Re: [PATCH] qemu: work around for "posix-aio-compat"
Date: Wed, 21 Oct 2009 19:28:54 +0200 [thread overview]
Message-ID: <4ADF44D6.5040207@redhat.com> (raw)
In-Reply-To: <20091021154234.GA24913@redhat.com>
> I've uploaded them here:
> http://www.kernel.org/pub/linux/kernel/people/mst/
> you can't see them in mirrors yet but will be able to soon when
> kernel.org mirroring system catches them.
There is no difference in optimizations except that here:
for (i = 0; i < aiocb->aio_niov && count; ++i) {
one of the two versions actually does "count && i < aiocb->aio_niov" due
to hashing vagaries. This is irrelevant anyway. Same inlining, same
loop optimization decisions, same everything else. So a GCC bug can be
ruled out, IMHO.
The only difference, as someone already suspected, is the padding---the
sigset is placed between the top of the frame and the other variables,
which may hide an overrun. This is quite amazing for a function that
has no arrays, but still is the only evidence.
I suggest trying to make the sigset_t static, since that generates
exactly the same code as the "nohang" case, and exactly the same stack
layout as the "hang" case. The next obvious step would be placing a
watchpoint somewhere.
Cheers,
Paolo
next prev parent reply other threads:[~2009-10-21 17:29 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-08 20:37 [Qemu-devel] [PATCH] qemu: work around for "posix-aio-compat" Michael S. Tsirkin
2009-10-08 20:53 ` [Qemu-devel] " malc
2009-10-08 21:13 ` malc
2009-10-08 21:46 ` Michael S. Tsirkin
2009-10-08 22:17 ` malc
2009-10-08 23:19 ` Michael S. Tsirkin
2009-10-09 1:06 ` [Qemu-devel] Emulated network cards Natalia Portillo
2009-10-09 8:54 ` Luca Tettamanti
2009-10-09 13:05 ` Natalia Portillo
2009-10-09 13:16 ` [Qemu-devel] Re: [PATCH] qemu: work around for "posix-aio-compat" malc
2009-10-08 21:00 ` Michael S. Tsirkin
2009-10-20 18:39 ` [Qemu-devel] " Mark McLoughlin
2009-10-20 18:57 ` [Qemu-devel] " Paolo Bonzini
2009-10-21 15:42 ` Michael S. Tsirkin
2009-10-21 15:54 ` Michael S. Tsirkin
2009-10-21 17:28 ` Paolo Bonzini [this message]
2009-10-21 17:35 ` Michael S. Tsirkin
2009-10-21 17:44 ` Paolo Bonzini
2009-10-21 17:46 ` Michael S. Tsirkin
2009-10-21 18:38 ` 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=4ADF44D6.5040207@redhat.com \
--to=pbonzini@redhat.com \
--cc=markmc@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.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 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.