2008-06-24 21:05:03

by Avi Kivity

[permalink] [raw]
Subject: [GIT PULL] KVM fixes for 2.6.26-rc7

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.


2008-06-25 01:12:34

by Linus Torvalds

[permalink] [raw]
Subject: Re: [GIT PULL] KVM fixes for 2.6.26-rc7



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

2008-06-25 07:08:23

by Avi Kivity

[permalink] [raw]
Subject: Re: [GIT PULL] KVM fixes for 2.6.26-rc7

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

2008-06-25 16:15:19

by Bernd Schubert

[permalink] [raw]
Subject: Re: [GIT PULL] KVM fixes for 2.6.26-rc7

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



2008-06-27 05:19:00

by Jeremy Fitzhardinge

[permalink] [raw]
Subject: Re: [GIT PULL] KVM fixes for 2.6.26-rc7

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

2008-06-28 04:03:10

by Avi Kivity

[permalink] [raw]
Subject: Re: [GIT PULL] KVM fixes for 2.6.26-rc7

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.