Re: [PATCH 1/3] Add prctl commands PR_GET_TSC and PR_SET_TSC
From: H. Peter Anvin
Date: Sun Apr 13 2008 - 15:33:40 EST
Andi Kleen wrote:
Erik Bosman <ejbosman@xxxxxxxx> writes:
I'm using it for deterministic replay.
Ok that should be in the changelog.
BTW x86 CPUs are not fully deterministic. e.g. there are a few errata that
can lead to differing EFLAGS (generally for instructions with undefined flags
output) based on random internal pipe line conditions.
I think you have to define "x86 CPUs" more tightly for that.
There's also RDPMC, but by default the kernel does not enable that
for ring 3. And if you go for oddities there are the random number
generator instructions on VIA CPUs which will obviously not
be repeatable.
There has been calls for an RDPMC counter which exposes true CPU cycles
(varying with frequency, as opposed to wall time.) And anything I/O --
including the RNG -- is obviously off.
I think what Erik is trying to do is to make it possible to disable as
many of these in the kernel as possible; I/O is easy, it's off by
default; RDTSC and RDPMC can be disabled in the kernel, and I think even
XSTORE can be disabled.
-hpa
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/