[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Atomicity of i386 guest atomic instructions
From: |
Jakub Jermar |
Subject: |
[Qemu-devel] Atomicity of i386 guest atomic instructions |
Date: |
Fri, 23 Apr 2010 19:27:31 +0200 |
User-agent: |
Thunderbird 2.0.0.24 (X11/20100411) |
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 spinlocks are not working as expected, because at one point
there are
two CPUs in one spinlock-protected critical section. I have been looking into
this for
several days and could not find anything on the HelenOS side. The assembly code
which
does the locking looks good and the respective spinlock is not corrupted. The
problem
shows in about 2/3 of all dual-CPU boots. When it shows, the stack trace is
always the
same. When it does not show during the boot, the system continues to run stable
and I
never see the problem after the system started up.
I reproduced this on Qemu 0.11.1 and 0.12.2-3 without kvm, both on ia32 and
amd64 hosts.
Any idea appreciated.
Regards,
Jakub
- [Qemu-devel] Atomicity of i386 guest atomic instructions,
Jakub Jermar <=