Re: [Qemu-devel] Atomicity of i386 guest atomic instructions

2010-04-28 Thread Paul Brook
> Alexander Graf wrote: > > They should be atomic. TCG SMP swaps between different vCPUs only > > after translation blocks are done. In fact, the only way I'm aware > > of to stop the execution of a TB mid-way is a page fault. > > A page fault would interrupt it if the atomic is implemented as > a

Re: [Qemu-devel] Atomicity of i386 guest atomic instructions

2010-04-23 Thread Jamie Lokier
Alexander Graf wrote: > They should be atomic. TCG SMP swaps between different vCPUs only > after translation blocks are done. In fact, the only way I'm aware > of to stop the execution of a TB mid-way is a page fault. A page fault would interrupt it if the atomic is implemented as a read followed

Re: [Qemu-devel] Atomicity of i386 guest atomic instructions

2010-04-23 Thread Alexander Graf
On 23.04.2010, at 19:27, Jakub Jermar wrote: > Hello, > > is it at least theoretically possible that the guest atomic instructions > (e.g. XCHG, > LOCK CMPXCHG) on target-i386 are somehow not atomic when simulated/translated > by Qemu? > > I am observing a problem with one of my HelenOS/ia32

[Qemu-devel] Atomicity of i386 guest atomic instructions

2010-04-23 Thread Jakub Jermar
Hello, is it at least theoretically possible that the guest atomic instructions (e.g. XCHG, LOCK CMPXCHG) on target-i386 are somehow not atomic when simulated/translated by Qemu? I am observing a problem with one of my HelenOS/ia32 builds which suggests me that for some reason HelenOS spinlock