Typical x86 MONITOR+MWAIT is like this (taken from Intel manual):
EAX = Logical Address(Trigger)
ECX = 0 (*Hints *)
EDX = 0 (* Hints *)
IF ( !trigger_store_happened) {
MONITOR EAX, ECX, EDX
IF ( !trigger_store_happened ) {
MWAIT EAX, ECX
}
}
In FreeBSD we have
On Wed, Sep 26, 2012 at 11:14:41AM +0300, Andriy Gapon wrote:
Typical x86 MONITOR+MWAIT is like this (taken from Intel manual):
EAX = Logical Address(Trigger)
ECX = 0 (*Hints *)
EDX = 0 (* Hints *)
IF ( !trigger_store_happened) {
MONITOR EAX, ECX, EDX
IF (
on 26/09/2012 12:10 Konstantin Belousov said the following:
On Wed, Sep 26, 2012 at 11:14:41AM +0300, Andriy Gapon wrote:
[snip]
So what's my point. - using volatile variable with cpu_monitor requires
DEVOLATILE to silence compiler warning about discarding volatile; this is
unnecessary code
3 matches
Mail list logo