Bug #466
closedticks macro not serializing
Description
http://en.wikipedia.org/wiki/Time_Stamp_Counter
"Starting with the Pentium Pro, Intel processors have supported
out-of-order execution, where instructions are not necessarily
performed in the order they appear in the executable. This can
cause RDTSC to be executed later than expected, producing a
misleading cycle count.[3] This problem can be solved by executing
a serializing instruction, such as CPUID, to force every preceding
instruction to complete before allowing the program to continue, or
by using the RDTSCP instruction, which is a serializing variant of
the RDTSC instruction (starting from Core i74 and starting from
AMD Athlon 64 X2 CPUs with AM2 Socket (Windsor & Brisbane))."
Noticed that suri doesn't serialize.. example code is included in
the entry.
Files