Re: [Qemu-devel] [RFC 00/30] cmpxchg-based emulation of atomics

2016-06-28 Thread Emilio G. Cota
On Tue, Jun 28, 2016 at 08:48:28 -0700, Richard Henderson wrote: > On 06/28/2016 01:45 AM, Lluís Vilanova wrote: > >Emilio G Cota writes: > >[...] > >>- What to do when atomic ops are used on something other than RAM? > >> Should we have a "slow path" that is not atomic for these cases, or > >> i

Re: [Qemu-devel] [RFC 00/30] cmpxchg-based emulation of atomics

2016-06-28 Thread Richard Henderson
On 06/28/2016 01:45 AM, Lluís Vilanova wrote: Emilio G Cota writes: [...] - What to do when atomic ops are used on something other than RAM? Should we have a "slow path" that is not atomic for these cases, or it's OK to assume code is bogus? For now, I just wrote XXX. [...] You mean, for e

Re: [Qemu-devel] [RFC 00/30] cmpxchg-based emulation of atomics

2016-06-28 Thread Lluís Vilanova
Emilio G Cota writes: [...] > - What to do when atomic ops are used on something other than RAM? > Should we have a "slow path" that is not atomic for these cases, or > it's OK to assume code is bogus? For now, I just wrote XXX. [...] You mean, for example, on I/O space? In these cases, it dep

[Qemu-devel] [RFC 00/30] cmpxchg-based emulation of atomics

2016-06-27 Thread Emilio G. Cota
This RFC provides softmmu/cpu primitives for cmpxchg operations. These primitives are not TCG ops; they are meant to be called from target helper functions. They apply to both system and user modes. To increase performance for architectures that have "locked" versions of regular ops (e.g. x86), he