|
2.1.1 dependent load
The
IA64 doesn't reorder memory
access over dependent load
unlike Alpha so that
smp_read_barrier_depends()
is defined as nop. But the Xen/IA64
doesn't exploit it (yet).
Possibly there is a room for
p2m conversion performance
exploiting dependent read.
2.1.2 compiler barrier and
volatile
According to C standard,
“volatile” type qualifier
requires compiler
not-optimize. Moreover IA64
ABI defines that storing of
volatile type must have
release semantics(“.rel”)
and loading must have
acquire semantics(“.acq”).
2.1.3 atomic operation and
memory barrier
Note that atomic operation
doesn't mean memory barrier
or ordered semantics.
Especially simple atomic
load/store has unordered
semantics. |