Port-amd64 archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: rdtscp instruction
On Mon, 26 Jul 2010 11:46:02 +0200, "Christoph Egger"
<Christoph_Egger%gmx.de@localhost> wrote:
>> What do other kernels store in this MSR?
>
> OpenSolaris stores the cpu id,
> Linux stores the cpu id and NUMA node
> and Xen stores the guest incarnation into this MSR.
>
> If in cr4 the TSC bit is set then userland can use
> the rdtsc and rdtscp instructions.
>
> Userland can get per-cpu informations with the rdtscp
> instruction.
>
> When we fill in the cpu id in MSR_TSC_AUX then userland
> can detect and deal with TSC clock skews between different
> physical cpus. However, on CPUs w/o a constant TSC
> (e.g. AMD K8), the tsc is bound on the cpu clock frequency
> and the tsc is not guarateed to increase at
> constant rate. Switching between different P-States
> changes the cpu frequency and the TSC rate.
>
> When we fill in the cpu id and the NUMA node then userland
> can also detect that it moved to a different NUMA node or
> that its threads run on different NUMA nodes.
>
> I think we should fill in the MSR_TSC_AUX the cpuid,
> reserve some bits for the NUMA node (will be used once we have NUMA) and
> reserve some bits for the future.
I agree.
--
Jean-Yves Migeon
jeanyves.migeon%free.fr@localhost
Home |
Main Index |
Thread Index |
Old Index