qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: [PATCH] qemu: work around for "posix-aio-compat"


From: Michael S. Tsirkin
Subject: [Qemu-devel] Re: [PATCH] qemu: work around for "posix-aio-compat"
Date: Wed, 21 Oct 2009 19:35:16 +0200
User-agent: Mutt/1.5.19 (2009-01-05)

On Wed, Oct 21, 2009 at 07:28:54PM +0200, Paolo Bonzini wrote:
>> 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.

Yes, but where?

> Cheers,
>
> Paolo




reply via email to

[Prev in Thread] Current Thread [Next in Thread]