I guess it must be important for something, but I can’t think of what user program would need it. Anyone know?
See Whaley and Castaldo, Achieving accurate and context-sensitive timing for code optimization.
If you are trying to determine truly which algorithm is faster X or Y…. you had better be sure you are measuring the algorithm not merely whether the caches are hot or not, since the cache effects will dominate.
Besides you can emulate the effect by filling the caches with other stuff. Just takes longer but still can be done.
can you get that kind of timing though? All those exploits seem to measure how long clflush takes. I don’t see how you get the same info without it
Hmm. I thought it was via checking the timing to access a permitted addressable location, but used indirect addressing to load that permitted location into cache based on an indirect value that you are not permitted to access.
If the time to access BaseAddress[ I0 * CacheLineSize] is significantly faster than the other 255 timings… you know *pointerToByte had value I0
Ok, you can https://gruss.cc/files/rowhammerjs.pdf