linux/arch/x86_64/lib
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
..
bitops.c [PATCH] x86-64: bitops fix for -Os 2005-11-02 19:41:32 -08:00
bitstr.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
clear_page.S [PATCH] annotate arch/x86_64/lib/*.S 2006-09-26 10:52:32 +02:00
copy_page.S Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
copy_user.S [PATCH] Fix zeroing on exception in copy_*_user 2006-09-26 10:52:39 +02:00
csum-copy.S [PATCH] annotate arch/x86_64/lib/*.S 2006-09-26 10:52:32 +02:00
csum-partial.c [PATCH] x86-64: Don't force inlining of do_csum 2006-12-07 02:14:07 +01:00
csum-wrappers.c [NET]: X86_64 checksum annotations and cleanups. 2006-12-02 21:23:14 -08:00
delay.c [PATCH] x86-64: Make x86_64 udelay() round up instead of down. 2006-12-07 02:14:07 +01:00
getuser.S [PATCH] annotate arch/x86_64/lib/*.S 2006-09-26 10:52:32 +02:00
io.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iomap_copy.S [PATCH] annotate arch/x86_64/lib/*.S 2006-09-26 10:52:32 +02:00
Makefile rdmsr_on_cpu, wrmsr_on_cpu 2007-02-20 14:23:43 -05:00
memcpy.S Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
memmove.c [PATCH] x86_64: Minor string functions optimizations 2006-06-26 10:48:22 -07:00
memset.S Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
msr-on-cpu.c rdmsr_on_cpu, wrmsr_on_cpu 2007-02-20 14:23:43 -05:00
putuser.S [PATCH] annotate arch/x86_64/lib/*.S 2006-09-26 10:52:32 +02:00
rwlock.S [PATCH] Clean up read write lock assembly 2006-09-26 10:52:28 +02:00
thunk.S Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
usercopy.c [PATCH] x86_64: Minor string functions optimizations 2006-06-26 10:48:22 -07:00