Re: [patch 134/149] x86, paravirt: Add a global synchronization point for pvclock

Peter Palfrader
2010-07-07T20:05:39Z

On Wed, 07 Jul 2010, Gleb Natapov wrote:

> On Wed, Jul 07, 2010 at 04:33:39PM +0200, Peter Palfrader wrote:
> > On Wed, 07 Jul 2010, Glauber Costa wrote:
> >
> > > > 2.6.32.16 fails to boot on my KVM domains using qemu-kvm 0.11.1.
> > > >
> > > > Bisecting between 2.6.32.14 which worked and .16 turned up this commit
> > > > as the first culprit[0].
> > > >
> > > > The host is still running 2.6.32.14 and has 8 cores on 2 CPUs. The
> > > > single-cpu KVM domain hangs just after printing 'Write protecting the
> > > > kernel read-only data: 9492k'[1]. On a successful boot this line would
> > > > usually be followed by 'INIT: version 2.86 booting'.
> > > >
> > > > A 2.6.32.16 with this patch reverted boots fine.
> > > >
> > > > If there's any info you need please just ask.
> >
> > > if you boot with another clocksource, and then switch to kvmclock with the machine already
> > > running, do you see anything strange or suspicious?
> >
> > Booting with various clocksource=xxx kernel parameters does not change
> > the behaviour at all, i.e. the boot still hangs.
> >
> And what if you provide -cpu qemu64,-kvmclock to qemu command line?

Adding that to the glob of options that already were there from libvirt
didn't disable it, but using an LD_PRELOAD wrapper[1] to that purpose on
the host when starting kvm did help.

Now, with kvmclock no longer being available at all the system picks tsc
and indeed boots 2.6.32.16 successfully.

- Peter
1. http://people.debian.org/~paravoid/kvm-noclock-3.tar.gz
--
| .''`. ** Debian GNU/Linux **
Peter Palfrader | : :' : The universal
http://www.palfrader.org/ | `. `' Operating System
| `- http://www.debian.org/