linux/arch/ia64
Hidetoshi Seto 829a999625 [IA64] ar.itc access must really be after xtime_lock.sequence has been read
The ".acq" semantics of the load only apply w.r.t. other data access.
Reading the clock (ar.itc) isn't a data access so strange things can
happen here.  Specifically the read of ar.itc can be launched as soon
as the read of xtime_lock.sequence is ISSUED.  Since this may cache
miss, and that might cause a thread switch, and there may be cache
contention for the line containing xtime_lock, it may be a long time
before the actual value is returned, so the ar.itc value may be very
stale.

Move the consumption of r28 up before the read of ar.itc to make sure
that we really have got the current value of xtime_lock.sequence
before look at ar.itc.

Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2007-07-13 16:21:44 -07:00
..
configs [IA64] refresh config files 2007-03-08 11:20:17 -08:00
dig [PATCH] tty: Remove include of screen_info.h from tty.h 2006-07-10 13:24:16 -07:00
hp [IA64] use machvec=dig on hpzx1 platforms 2007-07-13 09:16:50 -07:00
ia32 [PATCH] add SIGNAL syscall class (v3) 2007-05-11 05:38:25 -04:00
kernel [IA64] ar.itc access must really be after xtime_lock.sequence has been read 2007-07-13 16:21:44 -07:00
lib [AF_RXRPC/AFS]: Arch-specific fixes. 2007-04-27 15:28:45 -07:00
mm [IA64] silence GCC ia64 unused variable warnings 2007-07-11 11:40:42 -07:00
oprofile Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
pci [IA64] prevent MCA when performing MMIO mmap to PCI config space 2007-07-11 11:34:49 -07:00
scripts Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sn [IA64] correctly count CPU objects in the ia64/sn hwperf interface 2007-07-13 16:09:46 -07:00
defconfig Pull error-inject into release branch 2007-04-30 13:55:43 -07:00
install.sh Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Kconfig PCI: Only build PCI syscalls on architectures that want them 2007-07-11 16:02:13 -07:00
Kconfig.debug [PATCH] Move Kprobes and Oprofile to "Instrumentation Support" menu 2005-11-07 07:53:35 -08:00
Makefile [IA64] add vmlinuz target 2006-06-21 14:31:07 -07:00
module.lds Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00