qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2 00/27] cmpxchg-based emulation of atomics


From: Emilio G. Cota
Subject: Re: [Qemu-devel] [PATCH v2 00/27] cmpxchg-based emulation of atomics
Date: Thu, 7 Jul 2016 22:53:08 -0400
User-agent: Mutt/1.5.23 (2014-03-12)

On Fri, Jul 01, 2016 at 10:04:26 -0700, Richard Henderson wrote:
> I spent a couple evenings this week tweaking Emilio's patch set.
> 
> The first major change is to "qemu/int128.h", so that we can use
> that type in the context of a 16-byte cmpxchg.  I have yet to teach
> TCG code generation about this type, so it's really only usable
> from other helper functions.  But that's still an improvement over
> having to return two uint64_t by reference.
> 
> The second major change is to funnel atomic operation generation
> through functions in tcg-op.c.  There we can test whether or not
> we're generating code in a parallel context and require atomic
> operations.  This also centralizes the helper functions so that we
> don't have to have the same sets in every target.
> 
> The third major change is providing a mechanism by which we can
> trap on atomic operations that we do not support, exit the cpu loop,
> stop the world, and then re-execute the instruction in a serial context.
> This is obviously something that will need to be filled in further
> as MTTCG progresses.
> 
> This minimally tested, but it is good enough to boot Fedora 24 x86-64,
> even with the softmmu single-step stubbed out.  Perhaps unsurprisingly,
> Fedora does not attempt an unaligned atomic operation.
> 
> Comments?

I *really* like this patchset. BTW many patches are significantly
improved over my original ones, so feel free to attribute authorship
to yourself for those.

I'll now address in separate emails the very few issues I found.

Thanks,

                Emilio



reply via email to

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