> On Jul 16, 2020, at 19:36, Theo de Raadt <[email protected]> wrote: > >> Note the third sentence. >> >> Given that, I reason that a serializing instruction before *and* after >> the RDTSC should freeze it in place. > > I haven't seen anyone read it that way.
They say that instructions after RDTSC can run before it because it isn't a serializing instruction. Do we want that? And then, consider this bit of programming advice. Also from the ISA reference (Vol. 2B 4-547): > If software requires RDTSC to be executed prior to execution of any > subsequent instruction (including any memory accesses), it can > execute the sequence LFENCE immediately after RDTSC. What other reading is possible given this documentation? What is your interpretation? Am I missing something?
