Guest kernel hangs in smp kvm for older kernels prior to tsc synccleanup
From: Avi Kivity
Date: Tue Dec 18 2007 - 12:21:06 EST
Booting RHEL 5 i386 in kvm with -no-kvm-irqchip -smp 4 will hang in
udev. I bisected this to a change in the _guest_ kernel:
commit 95492e4646e5de8b43d9a7908d6177fb737b61f0
Author: Ingo Molnar <mingo@xxxxxxx>
Date: Fri Feb 16 01:27:34 2007 -0800
[PATCH] x86: rewrite SMP TSC sync code
make the TSC synchronization code more robust, and unify it
between x86_64 and
i386.
The biggest change is the removal of the 'fix up TSCs' code on
x86_64 and
i386, in some rare cases it was /causing/ time-warps on SMP systems.
The new code only checks for TSC asynchronity - and if it can prove a
time-warp (if it can observe the TSC going backwards when going
from one CPU
to another within a critical section), then the TSC clock-source
is turned
off.
The TSC synchronization-checking code also got moved into a
separate file.
So, guest kernels prior to this commit will hang in kvm smp; after this
commit they will boot fine.
While the change mentions that it fixes a time warp bug, it also says it
should be rare. So clearly kvm smp tsc handing is buggy. Ingo/Thomas,
(or anybody else), do you have any insight as to what kvm can be doing
wrong to trigger this behavior?
--
error compiling committee.c: too many arguments to function
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/