0: movl RNT_GENERATION(%edi),%esi /* being updated? */ ; \
testl %esi,%esi ; \
jz 0b /* wait until done */ ; \
+ lfence ; \
rdtsc ; \
lfence ; \
subl RNT_TSC_BASE(%edi),%eax ; \
0: movl RNT_GENERATION(%rdi),%esi ; \
test %esi,%esi /* info updating? */ ; \
jz 0b /* - wait if so */ ; \
+ lfence ; \
rdtsc ; \
lfence ; \
shlq $32,%rdx ; \