b077ffb3b7
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> |
||
---|---|---|
.. | ||
bitops.c | ||
bitstr.c | ||
clear_page.S | ||
copy_page.S | ||
copy_user.S | ||
csum-copy.S | ||
csum-partial.c | ||
csum-wrappers.c | ||
delay.c | ||
getuser.S | ||
io.c | ||
iomap_copy.S | ||
Makefile | ||
memcpy.S | ||
memmove.c | ||
memset.S | ||
msr-on-cpu.c | ||
putuser.S | ||
rwlock.S | ||
thunk.S | ||
usercopy.c |