kernel_optimize_test/arch
Alexey Dobriyan b077ffb3b7 rdmsr_on_cpu, wrmsr_on_cpu
There was OpenVZ specific bug rendering some cpufreq drivers unusable on SMP.
In short, when cpufreq code thinks it confined itself to needed cpu by means
of set_cpus_allowed() to execute rdmsr, some "virtual cpu" feature can migrate
process to anywhere.  This triggers bugons and does wrong things in general.

This got fixed by introducing rdmsr_on_cpu and wrmsr_on_cpu executing rdmsr
and wrmsr on given physical cpu by means of smp_call_function_single().

Dave Jones mentioned cpufreq might be not only user of rdmsr_on_cpu() and
wrmsr_on_cpu(), so I'm putting them into arch/{i386,x86_64}/lib/ .

Signed-off-by: Alexey Dobriyan <adobriyan@openvz.org>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dave Jones <davej@redhat.com>
2007-02-20 14:23:43 -05:00
..
alpha PCI: make isa_bridge Alpha-only 2007-02-07 15:50:06 -08:00
arm [APM] ARM: Convert to use shared APM emulation. 2007-02-09 17:08:58 +00:00
arm26 [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
avr32 [AVR32] Add missing #include <linux/module.h> 2007-02-09 15:23:46 +01:00
cris [PATCH] Change cpu_up and co from __devinit to __cpuinit 2007-01-11 18:18:20 -08:00
frv [PATCH] sysctl: remove unused "context" param 2006-12-10 09:55:41 -08:00
h8300 [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
i386 rdmsr_on_cpu, wrmsr_on_cpu 2007-02-20 14:23:43 -05:00
ia64 [PATCH] arch/ia64: ansify 2007-02-09 09:14:06 -08:00
m32r [PATCH] Change cpu_up and co from __devinit to __cpuinit 2007-01-11 18:18:20 -08:00
m68k [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
m68knommu [PATCH] m68knommu: use irq_handler_t for passing handler types 2007-02-09 10:45:33 -08:00
mips Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-apm 2007-02-09 09:44:28 -08:00
parisc [PATCH] Change cpu_up and co from __devinit to __cpuinit 2007-01-11 18:18:20 -08:00
powerpc [PATCH] powerpc vDSO: use install_special_mapping 2007-02-09 09:25:47 -08:00
ppc [POWERPC] PPC: Use ARRAY_SIZE macro when appropriate 2007-02-08 16:08:25 +11:00
s390 [S390]: Add AF_IUCV socket support 2007-02-08 13:51:54 -08:00
sh Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-apm 2007-02-09 09:44:28 -08:00
sh64 [PATCH] Generic ioremap_page_range: sh64 conversion 2006-12-08 08:28:52 -08:00
sparc [PATCH] sanitize sections for sparc32 smp 2007-02-01 16:17:06 -08:00
sparc64 [SPARC64]: Set g4/g5 properly in sun4v dtlb-prot handling. 2007-01-26 18:56:01 -08:00
um [PATCH] uml: fix signal frame alignment 2007-01-30 16:01:35 -08:00
v850 kconfig: Standardize "depends" -> "depends on" in Kconfig files 2006-12-12 20:04:19 +01:00
x86_64 rdmsr_on_cpu, wrmsr_on_cpu 2007-02-20 14:23:43 -05:00
xtensa [PATCH] Xtensa: Add ktermios and minor filename fix 2006-12-13 09:05:50 -08:00