public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL] KVM fixes for 2.6.26-rc7
@ 2008-06-24 21:05 Avi Kivity
  2008-06-25  1:12 ` Linus Torvalds
                   ` (2 more replies)
  0 siblings, 3 replies; 27+ messages in thread
From: Avi Kivity @ 2008-06-24 21:05 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: kvm-devel, lkml

Linus, please pull from the repo and branch at:

  git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git 
kvm-updates-2.6.26

to receive kvm updates for 2.6.26-rc7.  The patches fix host oopses,
guest interrupt loss, and total kvm clock borkage.

Since one of the goals of kvm clock was to be binary compatible with the Xen
clock, the patchset moves the Xen time code to common code and makes kvm 
reuse it.
This fixes both the ABI and correctness issues.  Jeremy has acked the Xen
changes.

Avi Kivity (3):
      KVM: MMU: Fix oops on guest userspace access to guest pagetable
      KVM: ioapic: fix lost interrupt when changing a device's irq
      KVM: VMX: Fix host msr corruption with preemption enabled

Gerd Hoffmann (5):
      x86: Add structs and functions for paravirt clocksource
      x86: Make xen use the paravirt clocksource structs and functions
      KVM: Make kvm host use the paravirt clocksource structs
      x86: KVM guest: Use the paravirt clocksource structs and functions
      KVM: Remove now unused structs from kvm_para.h

Marcelo Tosatti (4):
      KVM: Fix race between timer migration and vcpu migration
      KVM: close timer injection race window in __vcpu_run
      KVM: MMU: Fix rmap_write_protect() hugepage iteration bug
      KVM: MMU: large page update_pte issue with non-PAE 32-bit guests 
(resend)

 arch/x86/Kconfig              |    5 ++
 arch/x86/kernel/Makefile      |    1 +
 arch/x86/kernel/kvmclock.c    |   89 ++++++++++----------------
 arch/x86/kernel/pvclock.c     |  141 
+++++++++++++++++++++++++++++++++++++++++
 arch/x86/kvm/i8254.c          |    9 ++-
 arch/x86/kvm/lapic.c          |    1 +
 arch/x86/kvm/mmu.c            |   19 +++---
 arch/x86/kvm/vmx.c            |   19 +++---
 arch/x86/kvm/x86.c            |   91 +++++++++++++++++++-------
 arch/x86/xen/Kconfig          |    1 +
 arch/x86/xen/time.c           |  132 
++++-----------------------------------
 include/asm-x86/kvm_host.h    |    4 +-
 include/asm-x86/kvm_para.h    |   18 -----
 include/asm-x86/pvclock-abi.h |   42 ++++++++++++
 include/asm-x86/pvclock.h     |   13 ++++
 include/linux/kvm_host.h      |    1 +
 include/xen/interface/xen.h   |    7 +-
 virt/kvm/ioapic.c             |   31 +++------
 18 files changed, 358 insertions(+), 266 deletions(-)
 create mode 100644 arch/x86/kernel/pvclock.c
 create mode 100644 include/asm-x86/pvclock-abi.h
 create mode 100644 include/asm-x86/pvclock.h

-- 
Do not meddle in the internals of kernels, for they are subtle and quick to panic.


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [GIT PULL] KVM fixes for 2.6.26-rc7
  2008-06-24 21:05 [GIT PULL] KVM fixes for 2.6.26-rc7 Avi Kivity
@ 2008-06-25  1:12 ` Linus Torvalds
  2008-06-25  7:08   ` Avi Kivity
  2008-06-25 16:13 ` Bernd Schubert
  2008-06-27  5:18 ` Jeremy Fitzhardinge
  2 siblings, 1 reply; 27+ messages in thread
From: Linus Torvalds @ 2008-06-25  1:12 UTC (permalink / raw)
  To: Avi Kivity; +Cc: kvm-devel, lkml



On Wed, 25 Jun 2008, Avi Kivity wrote:
>
> Linus, please pull from the repo and branch at:
> 
>  git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git kvm-updates-2.6.26
> 
> to receive kvm updates for 2.6.26-rc7.  The patches fix host oopses,
> guest interrupt loss, and total kvm clock borkage.

Avi, you _really_ need to start respecting the merge window.

If you can't learn, I will have to just stop pulling from you. This is 
simply too big for this late in the game.

I pulled, but I'm simply not going to continue doing this dance. I don't 
care much for virtualization, so I've let it slide, but you need to learn 
that 

> 18 files changed, 358 insertions(+), 266 deletions(-)

is simply not acceptable this late. 

			Linus

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [GIT PULL] KVM fixes for 2.6.26-rc7
  2008-06-25  1:12 ` Linus Torvalds
@ 2008-06-25  7:08   ` Avi Kivity
  0 siblings, 0 replies; 27+ messages in thread
From: Avi Kivity @ 2008-06-25  7:08 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: kvm-devel, lkml

Linus Torvalds wrote:
> On Wed, 25 Jun 2008, Avi Kivity wrote:
>   
>> Linus, please pull from the repo and branch at:
>>
>>  git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git kvm-updates-2.6.26
>>
>> to receive kvm updates for 2.6.26-rc7.  The patches fix host oopses,
>> guest interrupt loss, and total kvm clock borkage.
>>     
>
> Avi, you _really_ need to start respecting the merge window.
>
> If you can't learn, I will have to just stop pulling from you. This is 
> simply too big for this late in the game.
>
> I pulled, but I'm simply not going to continue doing this dance. I don't 
> care much for virtualization, so I've let it slide, but you need to learn 
> that 
>
>   
>> 18 files changed, 358 insertions(+), 266 deletions(-)
>>     
>
> is simply not acceptable this late. 
>   

You're right, I guess I should have disabled kvm clock for 2.6.26 (which 
makes up the bulk of the changes) and re-enabled it for 2.6.27, but 
ended up not resisting the temptation.

-- 
error compiling committee.c: too many arguments to function


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [GIT PULL] KVM fixes for 2.6.26-rc7
  2008-06-24 21:05 [GIT PULL] KVM fixes for 2.6.26-rc7 Avi Kivity
  2008-06-25  1:12 ` Linus Torvalds
@ 2008-06-25 16:13 ` Bernd Schubert
  2008-06-25 17:19   ` Marcelo Tosatti
  2008-06-27  5:18 ` Jeremy Fitzhardinge
  2 siblings, 1 reply; 27+ messages in thread
From: Bernd Schubert @ 2008-06-25 16:13 UTC (permalink / raw)
  To: linux-kernel; +Cc: kvm

Avi Kivity wrote:

> Linus, please pull from the repo and branch at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git
> kvm-updates-2.6.26

I just pulled from Linus and now it stalls to boot at

[    0.616031] pnp: PnP ACPI init
[    0.628031] ACPI: bus type pnp registered
[    0.640031] pnp: PnP ACPI: found 7 devices
[    0.652031] ACPI: ACPI bus type pnp unregistered
[    0.660031] SCSI subsystem initialized
[    0.664031] PCI: Using ACPI for IRQ routing
[    0.692031] PCI-GART: No AMD northbridge found.

The kvm process is at 100% time. Taking the many problems I already reported
about, 2.6.26 probably will be entirely broken regarding kvm :(


Thanks,
Bernd

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [GIT PULL] KVM fixes for 2.6.26-rc7
  2008-06-25 16:13 ` Bernd Schubert
@ 2008-06-25 17:19   ` Marcelo Tosatti
  2008-06-25 18:54     ` Bernd Schubert
  0 siblings, 1 reply; 27+ messages in thread
From: Marcelo Tosatti @ 2008-06-25 17:19 UTC (permalink / raw)
  To: Bernd Schubert; +Cc: kvm, Avi Kivity

On Wed, Jun 25, 2008 at 06:13:05PM +0200, Bernd Schubert wrote:
> Avi Kivity wrote:
> 
> > Linus, please pull from the repo and branch at:
> > 
> >   git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git
> > kvm-updates-2.6.26
> 
> I just pulled from Linus and now it stalls to boot at
> 
> [    0.616031] pnp: PnP ACPI init
> [    0.628031] ACPI: bus type pnp registered
> [    0.640031] pnp: PnP ACPI: found 7 devices
> [    0.652031] ACPI: ACPI bus type pnp unregistered
> [    0.660031] SCSI subsystem initialized
> [    0.664031] PCI: Using ACPI for IRQ routing
> [    0.692031] PCI-GART: No AMD northbridge found.
> 
> The kvm process is at 100% time. Taking the many problems I already reported
> about, 2.6.26 probably will be entirely broken regarding kvm :(

Do you have CONFIG_KVM_CLOCK or CONFIG_KVM_GUEST enabled ?

There is a known problem with CONFIG_KVM_GUEST being worked on.

Can you provide this details, and pinpoint which option is the culprit?

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [GIT PULL] KVM fixes for 2.6.26-rc7
  2008-06-25 17:19   ` Marcelo Tosatti
@ 2008-06-25 18:54     ` Bernd Schubert
  2008-06-25 19:17       ` Marcelo Tosatti
  0 siblings, 1 reply; 27+ messages in thread
From: Bernd Schubert @ 2008-06-25 18:54 UTC (permalink / raw)
  To: Marcelo Tosatti; +Cc: kvm, Avi Kivity

On Wednesday 25 June 2008, Marcelo Tosatti wrote:
> On Wed, Jun 25, 2008 at 06:13:05PM +0200, Bernd Schubert wrote:
> > Avi Kivity wrote:
> > > Linus, please pull from the repo and branch at:
> > >
> > >   git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git
> > > kvm-updates-2.6.26
> >
> > I just pulled from Linus and now it stalls to boot at
> >
> > [    0.616031] pnp: PnP ACPI init
> > [    0.628031] ACPI: bus type pnp registered
> > [    0.640031] pnp: PnP ACPI: found 7 devices
> > [    0.652031] ACPI: ACPI bus type pnp unregistered
> > [    0.660031] SCSI subsystem initialized
> > [    0.664031] PCI: Using ACPI for IRQ routing
> > [    0.692031] PCI-GART: No AMD northbridge found.
> >
> > The kvm process is at 100% time. Taking the many problems I already
> > reported about, 2.6.26 probably will be entirely broken regarding kvm :(
>
> Do you have CONFIG_KVM_CLOCK or CONFIG_KVM_GUEST enabled ?
>
> There is a known problem with CONFIG_KVM_GUEST being worked on.
>
> Can you provide this details, and pinpoint which option is the culprit?

Just found out, it is CONFIG_KVM_CLOCK. With CONFIG_KVM_CLOCK=y it does boot 
fine.

Thanks,
Bernd



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [GIT PULL] KVM fixes for 2.6.26-rc7
  2008-06-25 18:54     ` Bernd Schubert
@ 2008-06-25 19:17       ` Marcelo Tosatti
  2008-06-25 19:26         ` Bernd Schubert
                           ` (2 more replies)
  0 siblings, 3 replies; 27+ messages in thread
From: Marcelo Tosatti @ 2008-06-25 19:17 UTC (permalink / raw)
  To: Bernd Schubert; +Cc: kvm, Avi Kivity, Gerd Hoffmann

On Wed, Jun 25, 2008 at 08:54:44PM +0200, Bernd Schubert wrote:
> On Wednesday 25 June 2008, Marcelo Tosatti wrote:
> > On Wed, Jun 25, 2008 at 06:13:05PM +0200, Bernd Schubert wrote:
> > > Avi Kivity wrote:
> > > > Linus, please pull from the repo and branch at:
> > > >
> > > >   git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git
> > > > kvm-updates-2.6.26
> > >
> > > I just pulled from Linus and now it stalls to boot at
> > >
> > > [    0.616031] pnp: PnP ACPI init
> > > [    0.628031] ACPI: bus type pnp registered
> > > [    0.640031] pnp: PnP ACPI: found 7 devices
> > > [    0.652031] ACPI: ACPI bus type pnp unregistered
> > > [    0.660031] SCSI subsystem initialized
> > > [    0.664031] PCI: Using ACPI for IRQ routing
> > > [    0.692031] PCI-GART: No AMD northbridge found.
> > >
> > > The kvm process is at 100% time. Taking the many problems I already
> > > reported about, 2.6.26 probably will be entirely broken regarding kvm :(
> >
> > Do you have CONFIG_KVM_CLOCK or CONFIG_KVM_GUEST enabled ?
> >
> > There is a known problem with CONFIG_KVM_GUEST being worked on.
> >
> > Can you provide this details, and pinpoint which option is the culprit?
> 
> Just found out, it is CONFIG_KVM_CLOCK. With CONFIG_KVM_CLOCK=y it does boot 
> fine.

You mean with CONFIG_KVM_CLOCK=n it boots fine, I suppose.

You should upgrade the guest kernel to the git tree, kvm clock changes
break compatibility with older kernels.


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [GIT PULL] KVM fixes for 2.6.26-rc7
  2008-06-25 19:17       ` Marcelo Tosatti
@ 2008-06-25 19:26         ` Bernd Schubert
  2008-06-25 19:33         ` Marcelo Tosatti
  2008-06-26  6:20         ` Gerd Hoffmann
  2 siblings, 0 replies; 27+ messages in thread
From: Bernd Schubert @ 2008-06-25 19:26 UTC (permalink / raw)
  To: Marcelo Tosatti; +Cc: kvm, Avi Kivity, Gerd Hoffmann

On Wednesday 25 June 2008, Marcelo Tosatti wrote:
> On Wed, Jun 25, 2008 at 08:54:44PM +0200, Bernd Schubert wrote:
> > On Wednesday 25 June 2008, Marcelo Tosatti wrote:
> > > On Wed, Jun 25, 2008 at 06:13:05PM +0200, Bernd Schubert wrote:
> > > > Avi Kivity wrote:
> > > > > Linus, please pull from the repo and branch at:
> > > > >
> > > > >   git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git
> > > > > kvm-updates-2.6.26
> > > >
> > > > I just pulled from Linus and now it stalls to boot at
> > > >
> > > > [    0.616031] pnp: PnP ACPI init
> > > > [    0.628031] ACPI: bus type pnp registered
> > > > [    0.640031] pnp: PnP ACPI: found 7 devices
> > > > [    0.652031] ACPI: ACPI bus type pnp unregistered
> > > > [    0.660031] SCSI subsystem initialized
> > > > [    0.664031] PCI: Using ACPI for IRQ routing
> > > > [    0.692031] PCI-GART: No AMD northbridge found.
> > > >
> > > > The kvm process is at 100% time. Taking the many problems I already
> > > > reported about, 2.6.26 probably will be entirely broken regarding kvm
> > > > :(
> > >
> > > Do you have CONFIG_KVM_CLOCK or CONFIG_KVM_GUEST enabled ?
> > >
> > > There is a known problem with CONFIG_KVM_GUEST being worked on.
> > >
> > > Can you provide this details, and pinpoint which option is the culprit?
> >
> > Just found out, it is CONFIG_KVM_CLOCK. With CONFIG_KVM_CLOCK=y it does
> > boot fine.
>
> You mean with CONFIG_KVM_CLOCK=n it boots fine, I suppose.

Oh sorry, this was supposed to be "With CONFIG_KVM_GUEST=y it boots fine". So 
yes, CONFIG_KVM_CLOCK is the culprit.

>
> You should upgrade the guest kernel to the git tree, kvm clock changes
> break compatibility with older kernels.

This __is__ the after updating to recent git (before that my problem was 
different). Latest commit is 

commit 543cf4cb3fe6f6cae3651ba918b9c56200b257d0
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Jun 24 18:58:20 2008 -0700

    Linux 2.6.26-rc8



Thanks,
Bernd


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [GIT PULL] KVM fixes for 2.6.26-rc7
  2008-06-25 19:17       ` Marcelo Tosatti
  2008-06-25 19:26         ` Bernd Schubert
@ 2008-06-25 19:33         ` Marcelo Tosatti
  2008-06-25 19:44           ` Bernd Schubert
  2008-06-26  6:20         ` Gerd Hoffmann
  2 siblings, 1 reply; 27+ messages in thread
From: Marcelo Tosatti @ 2008-06-25 19:33 UTC (permalink / raw)
  To: Bernd Schubert; +Cc: kvm, Avi Kivity, Gerd Hoffmann

On Wed, Jun 25, 2008 at 04:17:23PM -0300, Marcelo Tosatti wrote:
> > Just found out, it is CONFIG_KVM_CLOCK. With CONFIG_KVM_CLOCK=y it does boot 
> > fine.
> 
> You mean with CONFIG_KVM_CLOCK=n it boots fine, I suppose.
> 
> You should upgrade the guest kernel to the git tree, kvm clock changes
> break compatibility with older kernels.

Err, I mean you have to upgrade the host kernel too.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [GIT PULL] KVM fixes for 2.6.26-rc7
  2008-06-25 19:33         ` Marcelo Tosatti
@ 2008-06-25 19:44           ` Bernd Schubert
  0 siblings, 0 replies; 27+ messages in thread
From: Bernd Schubert @ 2008-06-25 19:44 UTC (permalink / raw)
  To: Marcelo Tosatti; +Cc: kvm, Avi Kivity, Gerd Hoffmann

On Wednesday 25 June 2008, Marcelo Tosatti wrote:
> On Wed, Jun 25, 2008 at 04:17:23PM -0300, Marcelo Tosatti wrote:
> > > Just found out, it is CONFIG_KVM_CLOCK. With CONFIG_KVM_CLOCK=y it does
> > > boot fine.
> >
> > You mean with CONFIG_KVM_CLOCK=n it boots fine, I suppose.
> >
> > You should upgrade the guest kernel to the git tree, kvm clock changes
> > break compatibility with older kernels.
>
> Err, I mean you have to upgrade the host kernel too.

Ah, unfortunately I can't do this easily :( 
I'm presently on vacation and the host is my desktop at work, the risk to 
break something remotely is too high. And even when I'n back is a problem, 
unfortunately the host is a nvidia system and dual display only works with 
the binary only driver (*grr* why did I have to get a stupid nvidia system :
( ).


Thanks,
Bernd

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [GIT PULL] KVM fixes for 2.6.26-rc7
  2008-06-25 19:17       ` Marcelo Tosatti
  2008-06-25 19:26         ` Bernd Schubert
  2008-06-25 19:33         ` Marcelo Tosatti
@ 2008-06-26  6:20         ` Gerd Hoffmann
  2008-06-26  8:45           ` Bernd Schubert
  2 siblings, 1 reply; 27+ messages in thread
From: Gerd Hoffmann @ 2008-06-26  6:20 UTC (permalink / raw)
  To: Marcelo Tosatti; +Cc: Bernd Schubert, kvm, Avi Kivity

> You mean with CONFIG_KVM_CLOCK=n it boots fine, I suppose.
> 
> You should upgrade the guest kernel to the git tree, kvm clock changes
> break compatibility with older kernels.

For completeness: older -rc kernels only, mixing -rc8 with 2.6.25 and
older is fine.

cheers,
  Gerd

-- 
http://kraxel.fedorapeople.org/xenner/

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [GIT PULL] KVM fixes for 2.6.26-rc7
  2008-06-26  6:20         ` Gerd Hoffmann
@ 2008-06-26  8:45           ` Bernd Schubert
  2008-06-26  9:07             ` Gerd Hoffmann
  2008-06-26 12:48             ` Anthony Liguori
  0 siblings, 2 replies; 27+ messages in thread
From: Bernd Schubert @ 2008-06-26  8:45 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: Marcelo Tosatti, kvm, Avi Kivity

On Thursday 26 June 2008, Gerd Hoffmann wrote:
> > You mean with CONFIG_KVM_CLOCK=n it boots fine, I suppose.
> >
> > You should upgrade the guest kernel to the git tree, kvm clock changes
> > break compatibility with older kernels.
>
> For completeness: older -rc kernels only, mixing -rc8 with 2.6.25 and
> older is fine.

Hmm, actually the host kernel is 2.6.24-ubuntu-something (due to this annoying 
required nvidia binary module). So it actually should work?

Thanks,
Bernd


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [GIT PULL] KVM fixes for 2.6.26-rc7
  2008-06-26  8:45           ` Bernd Schubert
@ 2008-06-26  9:07             ` Gerd Hoffmann
  2008-06-26 12:48             ` Anthony Liguori
  1 sibling, 0 replies; 27+ messages in thread
From: Gerd Hoffmann @ 2008-06-26  9:07 UTC (permalink / raw)
  To: Bernd Schubert; +Cc: Marcelo Tosatti, kvm, Avi Kivity

Bernd Schubert wrote:
> On Thursday 26 June 2008, Gerd Hoffmann wrote:
>>> You mean with CONFIG_KVM_CLOCK=n it boots fine, I suppose.
>>>
>>> You should upgrade the guest kernel to the git tree, kvm clock changes
>>> break compatibility with older kernels.
>> For completeness: older -rc kernels only, mixing -rc8 with 2.6.25 and
>> older is fine.
> 
> Hmm, actually the host kernel is 2.6.24-ubuntu-something (due to this annoying 
> required nvidia binary module). So it actually should work?

Yes, should have worked (assuming it is 2.6.24-vanilla kvm host code,
i.e. no kvm patches in and no external kvm module running).

Can you provide the full guest boot log?

cheers,
  Gerd

-- 
http://kraxel.fedorapeople.org/xenner/

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [GIT PULL] KVM fixes for 2.6.26-rc7
  2008-06-26  8:45           ` Bernd Schubert
  2008-06-26  9:07             ` Gerd Hoffmann
@ 2008-06-26 12:48             ` Anthony Liguori
  2008-06-26 12:52               ` Avi Kivity
  1 sibling, 1 reply; 27+ messages in thread
From: Anthony Liguori @ 2008-06-26 12:48 UTC (permalink / raw)
  To: Bernd Schubert; +Cc: Gerd Hoffmann, Marcelo Tosatti, kvm, Avi Kivity

Bernd Schubert wrote:
> On Thursday 26 June 2008, Gerd Hoffmann wrote:
>   
>>> You mean with CONFIG_KVM_CLOCK=n it boots fine, I suppose.
>>>
>>> You should upgrade the guest kernel to the git tree, kvm clock changes
>>> break compatibility with older kernels.
>>>       
>> For completeness: older -rc kernels only, mixing -rc8 with 2.6.25 and
>> older is fine.
>>     
>
> Hmm, actually the host kernel is 2.6.24-ubuntu-something (due to this annoying 
> required nvidia binary module). So it actually should work?
>   

The ubuntu kernel has a newer KVM module backported to it so it's really 
2.6.25-rcX.

Regards,

Anthony Liguori

> Thanks,
> Bernd
>
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>   


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [GIT PULL] KVM fixes for 2.6.26-rc7
  2008-06-26 12:48             ` Anthony Liguori
@ 2008-06-26 12:52               ` Avi Kivity
  2008-06-26 13:12                 ` Soren Hansen
  2008-06-26 13:43                 ` Soren Hansen
  0 siblings, 2 replies; 27+ messages in thread
From: Avi Kivity @ 2008-06-26 12:52 UTC (permalink / raw)
  To: Anthony Liguori
  Cc: Bernd Schubert, Gerd Hoffmann, Marcelo Tosatti, kvm, soren

(copying the guilty party)

Anthony Liguori wrote:
> The ubuntu kernel has a newer KVM module backported to it so it's 
> really 2.6.25-rcX.


That's a big no-no.  We only guarantee binary compatibility for 
kernel.org releases.  kvm-blah releases may break compatibility 
temporarily as issues are worked out.

-- 
Do not meddle in the internals of kernels, for they are subtle and quick to panic.


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [GIT PULL] KVM fixes for 2.6.26-rc7
  2008-06-26 12:52               ` Avi Kivity
@ 2008-06-26 13:12                 ` Soren Hansen
  2008-06-29 10:03                   ` Avi Kivity
  2008-06-26 13:43                 ` Soren Hansen
  1 sibling, 1 reply; 27+ messages in thread
From: Soren Hansen @ 2008-06-26 13:12 UTC (permalink / raw)
  To: Avi Kivity
  Cc: Anthony Liguori, Bernd Schubert, Gerd Hoffmann, Marcelo Tosatti,
	kvm

[-- Attachment #1: Type: text/plain, Size: 555 bytes --]

On Thu, Jun 26, 2008 at 03:52:47PM +0300, Avi Kivity wrote:
>> The ubuntu kernel has a newer KVM module backported to it so it's
>> really 2.6.25-rcX.
> That's a big no-no.  We only guarantee binary compatibility for
> kernel.org releases.  kvm-blah releases may break compatibility
> temporarily as issues are worked out.

I thought there was an ABI check of sorts in place that should take care
of this?

-- 
Soren Hansen               | 
Virtualisation specialist  | Ubuntu Server Team
Canonical Ltd.             | http://www.ubuntu.com/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [GIT PULL] KVM fixes for 2.6.26-rc7
  2008-06-26 12:52               ` Avi Kivity
  2008-06-26 13:12                 ` Soren Hansen
@ 2008-06-26 13:43                 ` Soren Hansen
  2008-06-26 14:00                   ` Gerd Hoffmann
  2008-06-29  8:59                   ` Avi Kivity
  1 sibling, 2 replies; 27+ messages in thread
From: Soren Hansen @ 2008-06-26 13:43 UTC (permalink / raw)
  To: Avi Kivity
  Cc: Anthony Liguori, Bernd Schubert, Gerd Hoffmann, Marcelo Tosatti,
	kvm

[-- Attachment #1: Type: text/plain, Size: 1250 bytes --]

On Thu, Jun 26, 2008 at 03:52:47PM +0300, Avi Kivity wrote:
>> The ubuntu kernel has a newer KVM module backported to it so it's
>> really 2.6.25-rcX.
> That's a big no-no.  We only guarantee binary compatibility for
> kernel.org releases.  kvm-blah releases may break compatibility
> temporarily as issues are worked out.

Well, anyhow, let's focus on getting this fixed, shall we?

The kernel modules shipped in 2.6.24 was causing all sorts of issues, so
in an effort to fix those, IIRC I grabbed what was in 2.6.25 at the time
and backported that, so if I were to get this issue fixed, it should be
sufficient to find anything that touches the kvm clock ABI between
2.6.25-rc<whatever I used> and 2.6.25 final. Does that sound about
right?

I'm a bit confused about this, though. I was under the impression that
for the KVM_CLOCK stuff to work, it'd would have to be in the host *and*
the guest kernel, but our kernels don't have KVM_CLOCK enabled at all?

Hmm... Looking at the code, it seems it does require host support, but
it's not #ifdef'ed, so that would explain my confusion..

-- 
Soren Hansen               | 
Virtualisation specialist  | Ubuntu Server Team
Canonical Ltd.             | http://www.ubuntu.com/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [GIT PULL] KVM fixes for 2.6.26-rc7
  2008-06-26 13:43                 ` Soren Hansen
@ 2008-06-26 14:00                   ` Gerd Hoffmann
  2008-06-26 14:25                     ` Soren Hansen
  2008-06-29  8:59                   ` Avi Kivity
  1 sibling, 1 reply; 27+ messages in thread
From: Gerd Hoffmann @ 2008-06-26 14:00 UTC (permalink / raw)
  To: Soren Hansen
  Cc: Avi Kivity, Anthony Liguori, Bernd Schubert, Marcelo Tosatti, kvm

Soren Hansen wrote:
> Well, anyhow, let's focus on getting this fixed, shall we?
> 
> The kernel modules shipped in 2.6.24 was causing all sorts of issues, so
> in an effort to fix those, IIRC I grabbed what was in 2.6.25 at the time
> and backported that, so if I were to get this issue fixed, it should be
> sufficient to find anything that touches the kvm clock ABI between
> 2.6.25-rc<whatever I used> and 2.6.25 final. Does that sound about
> right?

guest side: turn off CONFIG_KVM_CLOCK for kernels older than -rc8
host side:  either apply the kvmclock fixes or disable support by
            removing kvm clock from the capabilities bit mask.

To fix the host you need this one:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=50d0a0f987b83a8dadb1134d834e35ec410392b5

Also this as dependency to make it build:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=7af192c954017499ec163bc9dbaaee2e593d7ef2ke


> I'm a bit confused about this, though. I was under the impression that
> for the KVM_CLOCK stuff to work, it'd would have to be in the host *and*
> the guest kernel, but our kernels don't have KVM_CLOCK enabled at all?

Host support doesn't depend on CONFIG_KVM_CLOCK.

HTH,
  Gerd

-- 
http://kraxel.fedorapeople.org/xenner/

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [GIT PULL] KVM fixes for 2.6.26-rc7
  2008-06-26 14:00                   ` Gerd Hoffmann
@ 2008-06-26 14:25                     ` Soren Hansen
  0 siblings, 0 replies; 27+ messages in thread
From: Soren Hansen @ 2008-06-26 14:25 UTC (permalink / raw)
  To: Gerd Hoffmann
  Cc: Avi Kivity, Anthony Liguori, Bernd Schubert, Marcelo Tosatti, kvm

[-- Attachment #1: Type: text/plain, Size: 1400 bytes --]

On Thu, Jun 26, 2008 at 04:00:20PM +0200, Gerd Hoffmann wrote:
> > The kernel modules shipped in 2.6.24 was causing all sorts of
> > issues, so in an effort to fix those, IIRC I grabbed what was in
> > 2.6.25 at the time and backported that, so if I were to get this
> > issue fixed, it should be sufficient to find anything that touches
> > the kvm clock ABI between 2.6.25-rc<whatever I used> and 2.6.25
> > final. Does that sound about right?
> guest side: turn off CONFIG_KVM_CLOCK for kernels older than -rc8 host
> side:  either apply the kvmclock fixes or disable support by removing
> kvm clock from the capabilities bit mask.

Thanks. This is very helpful!

I think disabling the kvm clock capability seems like the best option,
since a cursory inspection suggests that that would not break the ABI.
I'd have to run a test build to verify this, though.

>> I'm a bit confused about this, though. I was under the impression
>> that for the KVM_CLOCK stuff to work, it'd would have to be in the
>> host *and* the guest kernel, but our kernels don't have KVM_CLOCK
>> enabled at all?
> Host support doesn't depend on CONFIG_KVM_CLOCK.

Yeah, exactly. I didn't realise this until an hour ago.

Is this deliberately not ifdef'ed?

-- 
Soren Hansen               | 
Virtualisation specialist  | Ubuntu Server Team
Canonical Ltd.             | http://www.ubuntu.com/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [GIT PULL] KVM fixes for 2.6.26-rc7
  2008-06-24 21:05 [GIT PULL] KVM fixes for 2.6.26-rc7 Avi Kivity
  2008-06-25  1:12 ` Linus Torvalds
  2008-06-25 16:13 ` Bernd Schubert
@ 2008-06-27  5:18 ` Jeremy Fitzhardinge
  2008-06-28  4:02   ` Avi Kivity
  2 siblings, 1 reply; 27+ messages in thread
From: Jeremy Fitzhardinge @ 2008-06-27  5:18 UTC (permalink / raw)
  To: Avi Kivity; +Cc: Linus Torvalds, kvm-devel, lkml

Avi Kivity wrote:
> Gerd Hoffmann (5):
>      x86: Add structs and functions for paravirt clocksource
>      x86: Make xen use the paravirt clocksource structs and functions
>      KVM: Make kvm host use the paravirt clocksource structs
>      x86: KVM guest: Use the paravirt clocksource structs and functions
>      KVM: Remove now unused structs from kvm_para.h

Yeah, I was really expecting this to be .27 material.  The Xen parts of 
the patch look OK, but I can't say I've tested them much - certainly not 
enough to be confident enough to push them in a late -rc.

    J

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [GIT PULL] KVM fixes for 2.6.26-rc7
  2008-06-27  5:18 ` Jeremy Fitzhardinge
@ 2008-06-28  4:02   ` Avi Kivity
  0 siblings, 0 replies; 27+ messages in thread
From: Avi Kivity @ 2008-06-28  4:02 UTC (permalink / raw)
  To: Jeremy Fitzhardinge; +Cc: Linus Torvalds, kvm-devel, lkml

Jeremy Fitzhardinge wrote:
> Avi Kivity wrote:
>> Gerd Hoffmann (5):
>>      x86: Add structs and functions for paravirt clocksource
>>      x86: Make xen use the paravirt clocksource structs and functions
>>      KVM: Make kvm host use the paravirt clocksource structs
>>      x86: KVM guest: Use the paravirt clocksource structs and functions
>>      KVM: Remove now unused structs from kvm_para.h
>
> Yeah, I was really expecting this to be .27 material.  The Xen parts 
> of the patch look OK, but I can't say I've tested them much - 
> certainly not enough to be confident enough to push them in a late -rc.
>

I thought I did mention this was for 2.6.26.  If you are uncomfortable 
with this, I'll prepare patches that revert this and disable kvm clock 
for 2.6.26 instead.

-- 
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [GIT PULL] KVM fixes for 2.6.26-rc7
  2008-06-26 13:43                 ` Soren Hansen
  2008-06-26 14:00                   ` Gerd Hoffmann
@ 2008-06-29  8:59                   ` Avi Kivity
  2008-06-30 13:21                     ` Soren Hansen
  1 sibling, 1 reply; 27+ messages in thread
From: Avi Kivity @ 2008-06-29  8:59 UTC (permalink / raw)
  To: Soren Hansen
  Cc: Anthony Liguori, Bernd Schubert, Gerd Hoffmann, Marcelo Tosatti,
	kvm

Soren Hansen wrote:
> On Thu, Jun 26, 2008 at 03:52:47PM +0300, Avi Kivity wrote:
>   
>>> The ubuntu kernel has a newer KVM module backported to it so it's
>>> really 2.6.25-rcX.
>>>       
>> That's a big no-no.  We only guarantee binary compatibility for
>> kernel.org releases.  kvm-blah releases may break compatibility
>> temporarily as issues are worked out.
>>     
>
> Well, anyhow, let's focus on getting this fixed, shall we?
>
> The kernel modules shipped in 2.6.24 was causing all sorts of issues, so
> in an effort to fix those, IIRC I grabbed what was in 2.6.25 at the time
> and backported that, so if I were to get this issue fixed, it should be
> sufficient to find anything that touches the kvm clock ABI between
> 2.6.25-rc<whatever I used> and 2.6.25 final. Does that sound about
> right?
>   

Yeah.  To be on the safe side you can have KVM_CHECK_EXTENSION return 
false for KVM_CAP_CLOCKSOURCE.

> I'm a bit confused about this, though. I was under the impression that
> for the KVM_CLOCK stuff to work, it'd would have to be in the host *and*
> the guest kernel, but our kernels don't have KVM_CLOCK enabled at all?
>
> Hmm... Looking at the code, it seems it does require host support, but
> it's not #ifdef'ed, so that would explain my confusion..
>   

Yeah, host and guest support are completely orthogonal.

-- 
error compiling committee.c: too many arguments to function


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [GIT PULL] KVM fixes for 2.6.26-rc7
  2008-06-26 13:12                 ` Soren Hansen
@ 2008-06-29 10:03                   ` Avi Kivity
  0 siblings, 0 replies; 27+ messages in thread
From: Avi Kivity @ 2008-06-29 10:03 UTC (permalink / raw)
  To: Soren Hansen
  Cc: Anthony Liguori, Bernd Schubert, Gerd Hoffmann, Marcelo Tosatti,
	kvm

Soren Hansen wrote:
> On Thu, Jun 26, 2008 at 03:52:47PM +0300, Avi Kivity wrote:
>   
>>> The ubuntu kernel has a newer KVM module backported to it so it's
>>> really 2.6.25-rcX.
>>>       
>> That's a big no-no.  We only guarantee binary compatibility for
>> kernel.org releases.  kvm-blah releases may break compatibility
>> temporarily as issues are worked out.
>>     
>
> I thought there was an ABI check of sorts in place that should take care
> of this?
>
>   

There is, but it doesn't differentiate between variants of the ABI as it 
evolves.  We probably ought to fix this by appending _EXPERIMENTAL to 
extensions while they are developed (or better, by considering at the 
result of KVM_CHECK_EXTENSION as a version number rather than a bool).

-- 
error compiling committee.c: too many arguments to function


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [GIT PULL] KVM fixes for 2.6.26-rc7
  2008-06-29  8:59                   ` Avi Kivity
@ 2008-06-30 13:21                     ` Soren Hansen
  2008-06-30 13:39                       ` Avi Kivity
  0 siblings, 1 reply; 27+ messages in thread
From: Soren Hansen @ 2008-06-30 13:21 UTC (permalink / raw)
  To: kvm

[-- Attachment #1: Type: text/plain, Size: 444 bytes --]

On Sun, Jun 29, 2008 at 11:59:27AM +0300, Avi Kivity wrote:
> Yeah.  To be on the safe side you can have KVM_CHECK_EXTENSION return
> false for KVM_CAP_CLOCKSOURCE.

Oh! That's even better. Would that be sufficient? I mean, do all guest
versions check this before trying to use the paravirt clock?

-- 
Soren Hansen               | 
Virtualisation specialist  | Ubuntu Server Team
Canonical Ltd.             | http://www.ubuntu.com/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 307 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [GIT PULL] KVM fixes for 2.6.26-rc7
  2008-06-30 13:21                     ` Soren Hansen
@ 2008-06-30 13:39                       ` Avi Kivity
  2008-06-30 14:21                         ` Soren Hansen
  0 siblings, 1 reply; 27+ messages in thread
From: Avi Kivity @ 2008-06-30 13:39 UTC (permalink / raw)
  To: kvm

Soren Hansen wrote:
> On Sun, Jun 29, 2008 at 11:59:27AM +0300, Avi Kivity wrote:
>   
>> Yeah.  To be on the safe side you can have KVM_CHECK_EXTENSION return
>> false for KVM_CAP_CLOCKSOURCE.
>>     
>
> Oh! That's even better. Would that be sufficient? I mean, do all guest
> versions check this before trying to use the paravirt clock?
>   

You need to disable the host side (KVM_CAP_CLOCKSOURCE) and the guest 
side (CONFIG_KVM_GUEST).

-- 
error compiling committee.c: too many arguments to function


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [GIT PULL] KVM fixes for 2.6.26-rc7
  2008-06-30 13:39                       ` Avi Kivity
@ 2008-06-30 14:21                         ` Soren Hansen
  2008-06-30 14:35                           ` Avi Kivity
  0 siblings, 1 reply; 27+ messages in thread
From: Soren Hansen @ 2008-06-30 14:21 UTC (permalink / raw)
  To: kvm

[-- Attachment #1: Type: text/plain, Size: 733 bytes --]

On Mon, Jun 30, 2008 at 04:39:23PM +0300, Avi Kivity wrote:
>>> Yeah.  To be on the safe side you can have KVM_CHECK_EXTENSION
>>> return false for KVM_CAP_CLOCKSOURCE.
>> Oh! That's even better. Would that be sufficient? I mean, do all
>> guest versions check this before trying to use the paravirt clock?
> You need to disable the host side (KVM_CAP_CLOCKSOURCE) and the guest
> side (CONFIG_KVM_GUEST).

Well, we don't have KVM_GUEST in the Ubuntu 8.04 kernels anyway (them
being 2.6.24 based and all), so returning false for KVM_CAP_CLOCKSOURCE
should be sufficient, I presume?

-- 
Soren Hansen               | 
Virtualisation specialist  | Ubuntu Server Team
Canonical Ltd.             | http://www.ubuntu.com/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 307 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [GIT PULL] KVM fixes for 2.6.26-rc7
  2008-06-30 14:21                         ` Soren Hansen
@ 2008-06-30 14:35                           ` Avi Kivity
  0 siblings, 0 replies; 27+ messages in thread
From: Avi Kivity @ 2008-06-30 14:35 UTC (permalink / raw)
  To: kvm

Soren Hansen wrote:
> On Mon, Jun 30, 2008 at 04:39:23PM +0300, Avi Kivity wrote:
>   
>>>> Yeah.  To be on the safe side you can have KVM_CHECK_EXTENSION
>>>> return false for KVM_CAP_CLOCKSOURCE.
>>>>         
>>> Oh! That's even better. Would that be sufficient? I mean, do all
>>> guest versions check this before trying to use the paravirt clock?
>>>       
>> You need to disable the host side (KVM_CAP_CLOCKSOURCE) and the guest
>> side (CONFIG_KVM_GUEST).
>>     
>
> Well, we don't have KVM_GUEST in the Ubuntu 8.04 kernels anyway (them
> being 2.6.24 based and all), so returning false for KVM_CAP_CLOCKSOURCE
> should be sufficient, I presume?
>
>   
Yes.

-- 
error compiling committee.c: too many arguments to function


^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2008-06-30 14:35 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-24 21:05 [GIT PULL] KVM fixes for 2.6.26-rc7 Avi Kivity
2008-06-25  1:12 ` Linus Torvalds
2008-06-25  7:08   ` Avi Kivity
2008-06-25 16:13 ` Bernd Schubert
2008-06-25 17:19   ` Marcelo Tosatti
2008-06-25 18:54     ` Bernd Schubert
2008-06-25 19:17       ` Marcelo Tosatti
2008-06-25 19:26         ` Bernd Schubert
2008-06-25 19:33         ` Marcelo Tosatti
2008-06-25 19:44           ` Bernd Schubert
2008-06-26  6:20         ` Gerd Hoffmann
2008-06-26  8:45           ` Bernd Schubert
2008-06-26  9:07             ` Gerd Hoffmann
2008-06-26 12:48             ` Anthony Liguori
2008-06-26 12:52               ` Avi Kivity
2008-06-26 13:12                 ` Soren Hansen
2008-06-29 10:03                   ` Avi Kivity
2008-06-26 13:43                 ` Soren Hansen
2008-06-26 14:00                   ` Gerd Hoffmann
2008-06-26 14:25                     ` Soren Hansen
2008-06-29  8:59                   ` Avi Kivity
2008-06-30 13:21                     ` Soren Hansen
2008-06-30 13:39                       ` Avi Kivity
2008-06-30 14:21                         ` Soren Hansen
2008-06-30 14:35                           ` Avi Kivity
2008-06-27  5:18 ` Jeremy Fitzhardinge
2008-06-28  4:02   ` Avi Kivity

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox