]> git.karo-electronics.de Git - karo-tx-linux.git/commit
xen/setup: filter APERFMPERF cpuid feature out
authorAndre Przywara <andre.przywara@amd.com>
Tue, 29 May 2012 11:07:31 +0000 (13:07 +0200)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Fri, 17 Aug 2012 13:43:57 +0000 (09:43 -0400)
commitd95a8d4b876b60ce8497fc3216d06823c492bba6
treec39375d0636c6ec1afb8fa4666bbf6434ce5eb1e
parentdf24fcb7519ff44f4f93fb15be92a4db2afd4e4f
xen/setup: filter APERFMPERF cpuid feature out

Xen PV kernels allow access to the APERF/MPERF registers to read the
effective frequency. Access to the MSRs is however redirected to the
currently scheduled physical CPU, making consecutive read and
compares unreliable. In addition each rdmsr traps into the hypervisor.
So to avoid bogus readouts and expensive traps, disable the kernel
internal feature flag for APERF/MPERF if running under Xen.
This will
a) remove the aperfmperf flag from /proc/cpuinfo
b) not mislead the power scheduler (arch/x86/kernel/cpu/sched.c) to
   use the feature to improve scheduling (by default disabled)
c) not mislead the cpufreq driver to use the MSRs

This does not cover userland programs which access the MSRs via the
device file interface, but this will be addressed separately.

Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Cc: stable@vger.kernel.org # v3.0+
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
arch/x86/xen/enlighten.c