>>> I specially wrote a C "volatile". All barriers are. More than it is enough resolution for exact timers. O>> volatile barriers does not put. The C> Generally, puts. The Surprise-surprise: GCC 5.4: an increment volatile int a variable through ++: 400710: 8b 05 36 09 20 00 mov 0x200936 (%rip), %eax # 60104c <counter> 400716: 83 c0 01 add $0x1, %eax 400719: 89 05 2d 09 20 00 mov %eax, 0x20092d (%rip) # 60104c <counter> 40071f: eb ef jmp 400710 increment volatile int a variable through __ sync_add_and_fetch: 400710: f0 83 05 34 09 20 00 01 lock addl $0x1,0x200934 (%rip) # 60104c <counter> 400718: eb f6 jmp 400710 O>> I mean for the processor. And with a barrier time of execution of an increment will be such that all construction becomes unsuitable for attack. A C> And with a barrier too all will be normal. It is necessary to statistican to count a maximum. Good luck it to consider if at you resolution of the timer is worse than a necessary difference. Besides, there is a proof suspicion that usage memory-barrier'a in a cycle simply kills attack to a root. The C>>> the Train left. And silly thus to try to do protection. O>> execution time is simply super-thick channel for a heap different side-channel , and not only so as a subject. To stop up everyone is as a boat to do of a sieve. The C> Except execution time is still supply consumption, employment of the bus of storage, direct samples on DRAM contention etc. Nene. All it demands physical connection by the logical analyzer. Scenarios of attacks need to be divided. We here about attack when the hacker can launch the code by the machine and no more that. A C> to Try to superimpose attacks by means of the exact time prohibition in the machine with divided storage is just holes. Methods will take statistically exact time to be approximately permanently. The C> More correct will be side-channel by means of iron measures. Type of a switched cache, exclusive rent of the bus etc. Zhelezjachniki already think. side-channel through time channel is better to kill killing this channel, that is - potentially possible results of time dimension. That that I above offered - only one method. The second can be for example to "jerk" frequency of kernels . Here basically anything especial is not present - with dynamic change of frequency will surprise nobody now, speech about that that it to jerk __ and is frequent with a view of . Up to randomization of on-off time ratio of the clock generator. Decisions, type everywhere in kernel LFENCE it is simple plugs in a sieve. There is here at me one vague association with uncertainty of Heisenberg. Oh, it is not casual it in this Universe.