[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Re: [PATCH] qemu: work around for "posix-aio-compat"
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] Re: [PATCH] qemu: work around for "posix-aio-compat" |
Date: |
Fri, 9 Oct 2009 01:19:18 +0200 |
User-agent: |
Mutt/1.5.19 (2009-01-05) |
On Fri, Oct 09, 2009 at 02:17:13AM +0400, malc wrote:
> On Thu, 8 Oct 2009, Michael S. Tsirkin wrote:
>
> > On Fri, Oct 09, 2009 at 01:13:12AM +0400, malc wrote:
> > > On Fri, 9 Oct 2009, malc wrote:
> > >
> > > > On Thu, 8 Oct 2009, Michael S. Tsirkin wrote:
> > > >
> > > > > With commit ee3993069ff55fa6f1c64daf1e09963e340db8e4,
> > > > > "posix-aio-compat: avoid signal race when spawning a thread"
> > > > > winxp installation on a raw format file fails
> > > > > during disk format, with a message "your
> > > > > disk may be damaged".
> > > > >
> > > > > This commit moved signal mask from aio thread to creating thread.
> > > > > It turns out if we keep the mask in aio thread as well, the problem
> > > > > disappears. It should not be needed, but since this is harmless, let's
> > > > > keep it around until someone inclined to debug pthread library
> > > > > internals
> > > > > can check this issue.
> > > > >
> > > > > While we are at it, convert sigprocmask to pthread_sigmask
> > > > > as per posix.
> > > >
> > > > Thanks for the work you've put into it, i'll try to see how all of this
> > > > works on my x86 machine.
> > > >
> > > > [..snip..]
> > >
> > > Nope, still can not reproduce... So indeed it appears someone is needed,
> > > who:
> > >
> > > a. Can reproduce
> > > b. Cares
>
> [..snip..]
>
> > >
> > > So the thing that works for you can be replaced with some dummy loop
> > > or something,
> >
> > Exactly. I just did this:
> >
> > sigset_t xset;
> >
> > static void *aio_thread(void *unused)
> > {
> > pid_t pid;
> > sigset_t set;
> >
> > /* block all signals */
> > /* Should not be necessary as we should inherit mask
> > * from creating thread. However, without this,
> > * on FC11, WinXP installation fails during disk format
> > * saying disk was damaged. pthread library bug?
> > * */
> > memset(&set, 0, sizeof set);
> > memcpy(&xset, &set, sizeof set);
> >
> > and it also helps.
>
> Now question of the week is - why does pausing the work that aio_thread
> does helps things? Come to think of it - your machine (judging by -j 8)
> is a lot faster than anything i have in my vicinity, and that might be
> why i can not reproduce it...
No, I think it's just memory layout.
We have some memory corruption, using some stack space
moves it about to a non-critical place.
> --
> mailto:address@hidden
- [Qemu-devel] [PATCH] qemu: work around for "posix-aio-compat", Michael S. Tsirkin, 2009/10/08
- [Qemu-devel] Re: [PATCH] qemu: work around for "posix-aio-compat", malc, 2009/10/08
- Re: [Qemu-devel] Re: [PATCH] qemu: work around for "posix-aio-compat", malc, 2009/10/08
- Re: [Qemu-devel] Re: [PATCH] qemu: work around for "posix-aio-compat", Michael S. Tsirkin, 2009/10/08
- Re: [Qemu-devel] Re: [PATCH] qemu: work around for "posix-aio-compat", malc, 2009/10/08
- Re: [Qemu-devel] Re: [PATCH] qemu: work around for "posix-aio-compat",
Michael S. Tsirkin <=
- [Qemu-devel] Emulated network cards, Natalia Portillo, 2009/10/08
- Re: [Qemu-devel] Emulated network cards, Luca Tettamanti, 2009/10/09
- Re: [Qemu-devel] Emulated network cards, Natalia Portillo, 2009/10/09
- Re: [Qemu-devel] Re: [PATCH] qemu: work around for "posix-aio-compat", malc, 2009/10/09
[Qemu-devel] Re: [PATCH] qemu: work around for "posix-aio-compat", Michael S. Tsirkin, 2009/10/08
Re: [Qemu-devel] [PATCH] qemu: work around for "posix-aio-compat", Mark McLoughlin, 2009/10/20