- Jun 28, 2013
-
-
Andreas Färber authored
Pass it to qemu_dummy_cpu_thread_fn(). Use CPUState::env_ptr for cpu_single_env. Prepares for changing qemu_init_vcpu() argument to CPUState. Reviewed-by:
Richard Henderson <rth@twiddle.net> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Pass it on to qemu_kvm_cpu_thread_fn(). Prepares for changing qemu_init_vcpu() argument to CPUState. Reviewed-by:
Richard Henderson <rth@twiddle.net> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
CPUArchState is no longer needed. Prepares for changing qemu_kvm_cpu_thread_fn() opaque to CPUState. Reviewed-by:
Richard Henderson <rth@twiddle.net> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Use CPUState::env_ptr for now. Prepares for changing cpu_handle_guest_debug() argument to CPUState. Reviewed-by:
Richard Henderson <rth@twiddle.net> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
It no longer uses CPUArchState. Prepares for changing qemu_kvm_cpu_thread_fn() opaque to CPUState. Acked-by:
Paolo Bonzini <pbonzini@redhat.com> Reviewed-by:
Richard Henderson <rth@twiddle.net> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
It no longer uses CPUArchState. Prepares for changing kvm_cpu_exec() argument to CPUState. Acked-by:
Paolo Bonzini <pbonzini@redhat.com> Reviewed-by:
Richard Henderson <rth@twiddle.net> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Make cpustats monitor command available unconditionally. Prepares for changing kvm_handle_internal_error() and kvm_cpu_exec() arguments to CPUState. Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
CPUArchState is no longer needed. Prepares for changing qemu_kvm_cpu_thread_fn() opaque to CPUState. Reviewed-by:
Richard Henderson <rth@twiddle.net> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
CPUArchState is no longer needed. Prepares for changing qemu_kvm_init_cpu_signals() argument to CPUState. Acked-by:
Paolo Bonzini <pbonzini@redhat.com> Reviewed-by:
Richard Henderson <rth@twiddle.net> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
It no longer uses CPUArchState. Prepares for changing qemu_kvm_cpu_thread_fn() opaque to CPUState. Reviewed-by:
Richard Henderson <rth@twiddle.net> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
It no longer needs CPUArchState. Prepares for changing all_cpu_threads_idle() CPU loop to CPUState and needed for changing qemu_kvm_wait_io_event() argument to CPUState. Reviewed-by:
Richard Henderson <rth@twiddle.net> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
It no longer depends on CPUArchState, so move it to qom/cpu.c. Prepares for changing GDBState::c_cpu to CPUState. Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Change Monitor::mon_cpu to CPUState as well. Reviewed-by:
liguang <lig.fnst@cn.fujitsu.com> Acked-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
It no longer relies on CPUArchState since 20d695a9. Reviewed-by:
liguang <lig.fnst@cn.fujitsu.com> Acked-by:
Paolo Bonzini <pbonzini@redhat.com> Reviewed-by:
Richard Henderson <rth@twiddle.net> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Use qemu_get_cpu() and CPUState::env_ptr. Reviewed-by:
Richard Henderson <rth@twiddle.net> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
A few targets already managed to implement cpu_save() and cpu_load() without defining CPU_SAVE_VERSION that causes them to be registered. Guard the prototypes with CPU_SAVE_VERSION to avoid this happening again until all targets are converted to VMState (or QIDL). Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Since commit e67db06e (target-or32: Add target stubs and QOM cpu) a VMStateDescription existed, but CPU_SAVE_VERSION was not set, so it was never registered. Drop cpu_{save,load}() and register VMStateDescription via DeviceState. Use a version_id of 1 and specify minimum versions as well. Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Commit b758aca1 (target-alpha: Enable the alpha-softmmu target.) introduced cpu_{save,load}() functions but didn't define CPU_SAVE_VERSION, so they were never registered. Drop cpu_{save,load}() and register the VMStateDescription via DeviceClass. This operates on the AlphaCPU object instead of CPUAlphaState. Reviewed-by:
Juan Quintela <quintela@redhat.com> Acked-by:
Richard Henderson <rth@twiddle.net> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
To be used to embed common CPU state into CPU subclasses. Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
It's the equivalent to cpu_class_set_vmsd(), to assign DeviceClass::vmsd. It wasn't needed before since only static, unmigratable VMStateDescriptions were assigned so far. Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
It's CPUClass::vmsd, not CPUState::vmsd. Reviewed-by:
liguang <lig.fnst@cn.fujitsu.com> Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
- Jun 27, 2013
-
-
Peter Maydell authored
Fix compilation failures for linux-user targets following recent migration related commits bd2fa51f and 43487c67. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Message-id: 1372362818-4740-1-git-send-email-peter.maydell@linaro.org Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Anthony Liguori authored
# By Michael R. Hines (9) and others # Via Juan Quintela * quintela/migration.next: rdma: introduce capability x-rdma-pin-all rdma: new QEMUFileOps hooks rdma: introduce qemu_ram_foreach_block() rdma: export qemu_fflush() rdma: introduce qemu_file_mode_is_not_valid() rdma: export throughput w/ MigrationStats QMP rdma: export yield_until_fd_readable() rdma: introduce qemu_update_position() rdma: add documentation migration: do not overwrite zero pages Revert "migration: do not sent zero pages in bulk stage" arch_init/ram_load: add error message for block length mismatch Message-id: 1372329455-5995-1-git-send-email-quintela@redhat.com Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Michael R. Hines authored
This capability allows you to disable dynamic chunk registration for better throughput on high-performance links. For example, using an 8GB RAM virtual machine with all 8GB of memory in active use and the VM itself is completely idle using a 40 gbps infiniband link: 1. x-rdma-pin-all disabled total time: approximately 7.5 seconds @ 9.5 Gbps 2. x-rdma-pin-all enabled total time: approximately 4 seconds @ 26 Gbps These numbers would of course scale up to whatever size virtual machine you have to migrate using RDMA. Enabling this feature does *not* have any measurable affect on migration *downtime*. This is because, without this feature, all of the memory will have already been registered already in advance during the bulk round and does not need to be re-registered during the successive iteration rounds. Reviewed-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Paolo Bonzini <pbonzini@redhat.com> Reviewed-by:
Chegu Vinod <chegu_vinod@hp.com> Reviewed-by:
Eric Blake <eblake@redhat.com> Tested-by:
Chegu Vinod <chegu_vinod@hp.com> Tested-by:
Michael R. Hines <mrhines@us.ibm.com> Signed-off-by:
Michael R. Hines <mrhines@us.ibm.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Michael R. Hines authored
These are the prototypes and implementation of new hooks that RDMA takes advantage of to perform dynamic page registration. An optional hook is also introduced for a custom function to be able to override the default save_page function. Also included are the prototypes and accessor methods used by arch_init.c which invoke funtions inside savevm.c to call out to the hooks that may or may not have been overridden inside of QEMUFileOps. Reviewed-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Paolo Bonzini <pbonzini@redhat.com> Reviewed-by:
Chegu Vinod <chegu_vinod@hp.com> Tested-by:
Chegu Vinod <chegu_vinod@hp.com> Tested-by:
Michael R. Hines <mrhines@us.ibm.com> Signed-off-by:
Michael R. Hines <mrhines@us.ibm.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Michael R. Hines authored
This is used during RDMA initialization in order to transmit a description of all the RAM blocks to the peer for later dynamic chunk registration purposes. Reviewed-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Paolo Bonzini <pbonzini@redhat.com> Reviewed-by:
Chegu Vinod <chegu_vinod@hp.com> Tested-by:
Chegu Vinod <chegu_vinod@hp.com> Tested-by:
Michael R. Hines <mrhines@us.ibm.com> Signed-off-by:
Michael R. Hines <mrhines@us.ibm.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Michael R. Hines authored
RDMA uses this to flush the control channel before sending its own message to handle page registrations. Reviewed-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Paolo Bonzini <pbonzini@redhat.com> Reviewed-by:
Chegu Vinod <chegu_vinod@hp.com> Tested-by:
Chegu Vinod <chegu_vinod@hp.com> Tested-by:
Michael R. Hines <mrhines@us.ibm.com> Signed-off-by:
Michael R. Hines <mrhines@us.ibm.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Michael R. Hines authored
QEMUFileRDMA also has read and write modes. This function is now shared to reduce code duplication. Reviewed-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Paolo Bonzini <pbonzini@redhat.com> Reviewed-by:
Chegu Vinod <chegu_vinod@hp.com> Tested-by:
Chegu Vinod <chegu_vinod@hp.com> Tested-by:
Michael R. Hines <mrhines@us.ibm.com> Signed-off-by:
Michael R. Hines <mrhines@us.ibm.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Michael R. Hines authored
This exposes throughput (in megabits/sec) through QMP. Reviewed-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Paolo Bonzini <pbonzini@redhat.com> Reviewed-by:
Chegu Vinod <chegu_vinod@hp.com> Tested-by:
Chegu Vinod <chegu_vinod@hp.com> Tested-by:
Michael R. Hines <mrhines@us.ibm.com> Signed-off-by:
Michael R. Hines <mrhines@us.ibm.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Michael R. Hines authored
The RDMA event channel can be made non-blocking just like a TCP socket. Exporting this function allows us to yield so that the QEMU monitor remains available. Reviewed-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Paolo Bonzini <pbonzini@redhat.com> Reviewed-by:
Chegu Vinod <chegu_vinod@hp.com> Tested-by:
Chegu Vinod <chegu_vinod@hp.com> Tested-by:
Michael R. Hines <mrhines@us.ibm.com> Signed-off-by:
Michael R. Hines <mrhines@us.ibm.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Michael R. Hines authored
RDMA writes happen asynchronously, and thus the performance accounting also needs to be able to occur asynchronously. This allows anybody to call into savevm.c to update both f->pos as well as into arch_init.c to update the acct_info structure with up-to-date values when the RDMA transfer actually completes. Reviewed-by:
Juan Quintela <quintela@redhat.com> Tested-by:
Chegu Vinod <chegu_vinod@hp.com> Tested-by:
Michael R. Hines <mrhines@us.ibm.com> Signed-off-by:
Michael R. Hines <mrhines@us.ibm.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Michael R. Hines authored
docs/rdma.txt contains full documentation, wiki links, github url and contact information. Reviewed-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Paolo Bonzini <pbonzini@redhat.com> Reviewed-by:
Chegu Vinod <chegu_vinod@hp.com> Tested-by:
Chegu Vinod <chegu_vinod@hp.com> Tested-by:
Michael R. Hines <mrhines@us.ibm.com> Signed-off-by:
Michael R. Hines <mrhines@us.ibm.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Peter Lieven authored
on incoming migration do not memset pages to zero if they already read as zero. this will allocate a new zero page and consume memory unnecessarily. even if we madvise a MADV_DONTNEED later this will only deallocate the memory asynchronously. Signed-off-by:
Peter Lieven <pl@kamp.de> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Peter Lieven authored
Not sending zero pages breaks migration if a page is zero at the source but not at the destination. This can e.g. happen if different BIOS versions are used at source and destination. It has also been reported that migration on pseries is completely broken with this patch. This effectively reverts commit f1c72795. Conflicts: arch_init.c Signed-off-by:
Peter Lieven <pl@kamp.de> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Alon Levy authored
Makes it easier to debug situations where the source and target have different ram blocks in a device and migration fails due to that, for instance a BAR size change on a PCI device. Signed-off-by:
Alon Levy <alevy@redhat.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
- Jun 25, 2013
-
-
Anthony Liguori authored
# By Peter Crosthwaite (3) and others # Via Peter Maydell * pmaydell/arm-devs.for-upstream: nand: Don't inherit from Sysbus block/nand: Convert Sysbus::init to Device::realize block/nand: QOM casting sweep i.MX31: Fix PRCS bit test arm/boot: Free dtb blob memory after use i.MX: Rework functions/types name and use new style initialization i.MX: Implement a more complete version of the GPT timer. ARM: Allow dumping of device tree Message-id: 1372184516-32397-1-git-send-email-peter.maydell@linaro.org Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Anthony Liguori authored
# By Peter Maydell # Via Peter Maydell * pmaydell/target-arm.for-upstream: target-arm: Make LPAE feature imply V7MP target-arm: Use tuple list to sync cp regs with KVM target-arm: Reinitialize all KVM VCPU registers on reset target-arm: Initialize cpreg list from KVM when using KVM target-arm: Convert TCG to using (index,value) list for cp migration target-arm: mark up cpregs for no-migrate or raw access target-arm: Add raw_readfn and raw_writefn to ARMCPRegInfo target-arm: Allow special cpregs to have flags set Message-id: 1372181592-32170-1-git-send-email-peter.maydell@linaro.org Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Anthony Liguori authored
# By Cornelia Huck (2) and Christian Borntraeger (1) # Via Cornelia Huck * cohuck/virtio-ccw-upstr: virtio-ccw: Wire up guest and host notifies. virtio-ccw: Wire up ioeventfd. s390/virtio-ccw: Fix virtio reset Message-id: 1372177538-9812-1-git-send-email-cornelia.huck@de.ibm.com Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Anthony Liguori authored
# By Paul Durrant (2) and Stefano Stabellini (1) # Via Stefano Stabellini * sstabellini/xen-20130625: Move hardcoded initialization of xen-platform device. Allow use of pc machine type (accel=xen) for Xen HVM domains. Revert "xen: start PCI hole at 0xe0000000 (same as pc_init1 and qemu-xen-traditional)" Message-id: alpine.DEB.2.02.1306251323220.4782@kaball.uk.xensource.com Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Peter Crosthwaite authored
Nand chips are not sysbus devices - they do not have any sense of MMIO, nor interrupts. Re-parent to TYPE_DEVICE accordingly. Cc: afaerber@suse.de Signed-off-by:
Peter Crosthwaite <peter.crosthwaite@xilinx.com> Reviewed-by:
Andreas Färber <afaerber@suse.de> Signed-off-by:
Peter Maydell <peter.maydell@linaro.org>
-