So I suggest we'll wait for Andi Kleen's 24' patch using [l|m]fence.- * Don't do an additional sync on CPUs where we know - * RDTSC is already synchronous: + * Use RDTSC on other CPUs. This might not be fully synchronous, + * but it's not a problem: the only coherency we care about is + * the GTOD output to user-space, and syscalls are synchronization + * points anyway: */ - alternative_io("cpuid", ASM_NOP2, X86_FEATURE_SYNC_RDTSC, - "=a" (eax), "0" (1) : "ebx","ecx","edx","memory"); rdtscll(ret); return ret;I don't think this is a good idea. I discussed exactly this item with Andi Kleen a while ago and afair the serializing instruction was necessary to fix a backwards walking gettimeofday() on some K8 revisions. Andi Kleen can tell more details, I added him to the CC list. Joerg