projects
/
GitHub
/
moto-9609
/
android_kernel_motorola_exynos9610.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
c285545
)
KVM guest: Move a printk that's using the clock before it's ready
author
Arjan Koers
<0h61vkll2ly8@xutrox.com>
Mon, 2 Aug 2010 21:35:28 +0000
(23:35 +0200)
committer
Avi Kivity
<avi@redhat.com>
Sun, 24 Oct 2010 08:53:06 +0000
(10:53 +0200)
Fix a hang during SMP kernel boot on KVM that showed up
after commit
489fb490dbf8dab0249ad82b56688ae3842a79e8
(2.6.35) and
59aab522154a2f17b25335b63c1cf68a51fb6ae0
(2.6.34.1). The problem only occurs when
CONFIG_PRINTK_TIME is set.
KVM-Stable-Tag.
Signed-off-by: Arjan Koers <0h61vkll2ly8@xutrox.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/kernel/kvmclock.c
patch
|
blob
|
blame
|
history
diff --git
a/arch/x86/kernel/kvmclock.c
b/arch/x86/kernel/kvmclock.c
index eb9b76c716c2277d147f2a3b4ad12456ec57dfb6..ca43ce31a19c241dcf224cf15d952026b269353a 100644
(file)
--- a/
arch/x86/kernel/kvmclock.c
+++ b/
arch/x86/kernel/kvmclock.c
@@
-128,13
+128,15
@@
static struct clocksource kvm_clock = {
static int kvm_register_clock(char *txt)
{
int cpu = smp_processor_id();
- int low, high;
+ int low, high, ret;
+
low = (int)__pa(&per_cpu(hv_clock, cpu)) | 1;
high = ((u64)__pa(&per_cpu(hv_clock, cpu)) >> 32);
+ ret = native_write_msr_safe(msr_kvm_system_time, low, high);
printk(KERN_INFO "kvm-clock: cpu %d, msr %x:%x, %s\n",
cpu, high, low, txt);
- return
native_write_msr_safe(msr_kvm_system_time, low, high)
;
+ return
ret
;
}
#ifdef CONFIG_X86_LOCAL_APIC