[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 00/21] qemu-kvm: Hook cleanups and extended use of u
From: |
Jan Kiszka |
Subject: |
[Qemu-devel] [PATCH 00/21] qemu-kvm: Hook cleanups and extended use of upstream code |
Date: |
Tue, 2 Feb 2010 09:18:46 +0100 |
Let's start with the overall stats:
31 files changed, 274 insertions(+), 822 deletions(-)
So this series drops far more than 500 lines of redundant code, moving
qemu-kvm yet a bit closer to upstream.
The other highlight is the simplification of synchronization between
in-kernel and user space VCPU states. This area used to call a lot of
problems in the past because it was tricky to get things right,
specifically during the multi-threaded startup. The new approach pushes
all the sync work around reset and vmsave/load into generic code, not
only removing the burden from developers of, say, in-kernel APIC
support, but also dropping most of our kvm-specific hooks, especially in
the qemu-kvm tree.
While I tested this on various VMs around, and things look good so far,
I wouldn't be surprised if there are some regressions remaining,
specifically in the non-x86 parts that I wasn't able to test or even
build. Please have a careful look!
Regarding the organization of the series: Patches prefixed with "KVM:"
are for upstream, unmodified or with only minor adjustments. But I have
a separate series against uq/master here that just needs final polishing
and can then be rolled out as well.
You can pull this series from
git://git.kiszka.org/qemu-kvm.git queues/vcpu-state
There are two more items on my to-do list, yet with medium prio:
o switch kvm_arch_save/load_regs and sub-functions to upstream code
o drop qemu-kvm's slot management in favor of upstream's implementation
Jan Kiszka (21):
qemu-kvm: Drop vmport changes
KVM: Make vmport KVM-compatible
qemu-kvm: Clean up register access API
KVM: x86: Fix up misreported CPU features
qemu-kvm: Use upstream kvm_enabled and cpu_synchronize_state
qemu-kvm: Use upstream kvm_setup_guest_memory
qemu-kvm: Use some more upstream prototypes
qemu-kvm: Use upstream kvm_arch_get_supported_cpuid
qemu-kvm: Use upstream kvm_pit_in_kernel
KVM: Move and rename regs_modified
KVM: Rework of guest debug state writing
qemu-kvm: Use upstream kvm_vcpu_dirty
qemu-kvm: Use upstream guest debug code
qemu-kvm: Rework VCPU state writeback API
qemu-kvm: Clean up mpstate synchronization
KVM: x86: Restrict writeback of VCPU state
qemu-kvm: Use VCPU event state for reset and vmsave/load
qemu-kvm: Cleanup/fix TSC and PV clock writeback
qemu-kvm: Clean up KVM's APIC hooks
qemu-kvm: Move kvm_set_boot_cpu_id
qemu-kvm: Bring qemu_init_vcpu back home
cpu-defs.h | 2 +-
exec.c | 17 --
hw/apic.c | 47 +-----
hw/i8254.c | 6 +-
hw/i8259.c | 2 +-
hw/ioapic.c | 2 +-
hw/msix.c | 3 +-
hw/pc.c | 13 +--
hw/pcspk.c | 4 +-
hw/piix_pci.c | 2 +-
hw/ppc_newworld.c | 3 -
hw/ppc_oldworld.c | 3 -
hw/s390-virtio.c | 1 -
hw/vmport.c | 14 +--
kvm-all.c | 51 +++---
kvm.h | 35 +++--
qemu-kvm-ia64.c | 6 +-
qemu-kvm-x86.c | 415 +++++++++----------------------------------------
qemu-kvm.c | 159 +++----------------
qemu-kvm.h | 158 +------------------
savevm.c | 4 +
sysemu.h | 4 +
target-i386/cpu.h | 9 +-
target-i386/helper.c | 2 +
target-i386/kvm.c | 61 +++++--
target-i386/machine.c | 27 ----
target-ia64/machine.c | 5 +-
target-ppc/kvm.c | 2 +-
target-ppc/machine.c | 4 -
target-s390x/kvm.c | 3 +-
vl.c | 32 ++++-
31 files changed, 274 insertions(+), 822 deletions(-)
- [Qemu-devel] [PATCH 00/21] qemu-kvm: Hook cleanups and extended use of upstream code,
Jan Kiszka <=