* [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 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-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-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-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
* 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
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