Skip to content
Snippets Groups Projects
  1. Jul 12, 2013
    • Chegu Vinod's avatar
      Force auto-convegence of live migration · 7ca1dfad
      Chegu Vinod authored
      
      If a user chooses to turn on the auto-converge migration capability
      these changes detect the lack of convergence and throttle down the
      guest. i.e. force the VCPUs out of the guest for some duration
      and let the migration thread catchup and help converge.
      
      Verified the convergence using the following :
       - Java Warehouse workload running on a 20VCPU/256G guest(~80% busy)
       - OLTP like workload running on a 80VCPU/512G guest (~80% busy)
      
      Sample results with Java warehouse workload : (migrate speed set to 20Gb and
      migrate downtime set to 4seconds).
      
       (qemu) info migrate
       capabilities: xbzrle: off auto-converge: off  <----
       Migration status: active
       total time: 1487503 milliseconds
       expected downtime: 519 milliseconds
       transferred ram: 383749347 kbytes
       remaining ram: 2753372 kbytes
       total ram: 268444224 kbytes
       duplicate: 65461532 pages
       skipped: 64901568 pages
       normal: 95750218 pages
       normal bytes: 383000872 kbytes
       dirty pages rate: 67551 pages
      
       ---
      
       (qemu) info migrate
       capabilities: xbzrle: off auto-converge: on   <----
       Migration status: completed
       total time: 241161 milliseconds
       downtime: 6373 milliseconds
       transferred ram: 28235307 kbytes
       remaining ram: 0 kbytes
       total ram: 268444224 kbytes
       duplicate: 64946416 pages
       skipped: 64903523 pages
       normal: 7044971 pages
       normal bytes: 28179884 kbytes
      
      Signed-off-by: default avatarChegu Vinod <chegu_vinod@hp.com>
      Signed-off-by: default avatarJuan Quintela <quintela@redhat.com>
      7ca1dfad
    • Chegu Vinod's avatar
      Add 'auto-converge' migration capability · bde1e2ec
      Chegu Vinod authored
      
      The auto-converge migration capability allows the user to specify if they
      choose live migration seqeunce to automatically detect and force convergence.
      
      Signed-off-by: default avatarChegu Vinod <chegu_vinod@hp.com>
      Reviewed-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Signed-off-by: default avatarJuan Quintela <quintela@redhat.com>
      bde1e2ec
    • Chegu Vinod's avatar
      Introduce async_run_on_cpu() · 3c02270d
      Chegu Vinod authored
      
      Introduce an asynchronous version of run_on_cpu() i.e. the caller
      doesn't have to block till the call back routine finishes execution
      on the target vcpu.
      
      Signed-off-by: default avatarChegu Vinod <chegu_vinod@hp.com>
      Reviewed-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: default avatarJuan Quintela <quintela@redhat.com>
      3c02270d
    • Anthony Liguori's avatar
      Merge remote-tracking branch 'agraf/ppc-for-upstream' into staging · 25ca6a1f
      Anthony Liguori authored
      
      # By Alexander Graf (16) and others
      # Via Alexander Graf
      * agraf/ppc-for-upstream: (22 commits)
        PPC: dbdma: Support more multi-issue DMA requests
        PPC: Add timer handler for newworld mac-io
        PPC: dbdma: Support unaligned DMA access
        PPC: dbdma: Wait for DMA until we have data
        PPC: dbdma: Move processing to io
        PPC: dbdma: macio: Add DMA callback
        PPC: dbdma: Move static bh variable to device struct
        PPC: dbdma: Introduce kick function
        PPC: dbdma: Move defines into header file
        PPC: dbdma: Allow new commands in RUN state
        PPC: dbdma: Fix debug print
        PPC: Mac: Add debug prints in macio and dbdma code
        PPC: dbdma: Replace tabs with spaces
        PPC: Macio: Replace tabs with spaces
        PPC: g3beige: Move secondary IDE bus to mac-io
        PPC: Mac: Fix guest exported tbfreq values
        target-ppc: Add POWER8 v1.0 CPU model
        pseries: move interrupt controllers to hw/intc/
        spapr: Respect -bios command line option for SLOF
        spapr: Use named enum for function remove_hpte
        ...
      
      Message-id: 1373562085-29728-1-git-send-email-agraf@suse.de
      Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
      25ca6a1f
  2. Jul 11, 2013
  3. Jul 10, 2013
    • Anthony Liguori's avatar
      Merge remote-tracking branch 'luiz/queue/qmp' into staging · c170a23c
      Anthony Liguori authored
      
      # By Kevin Wolf (4) and others
      # Via Luiz Capitulino
      * luiz/queue/qmp:
        add timestamp to error_report()
        qapi-schema: Use existing type for drive-backup arguments
        qapi-schema: Use BlockdevSnapshot type for blockdev-snapshot-sync
        qapi.py: Allow top-level type reference for command definitions
        qapi.py: Avoid code duplication
        qemu-char: Fix ringbuf option size
      
      Message-id: 1373478767-20965-1-git-send-email-lcapitulino@redhat.com
      Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
      c170a23c
    • Seiji Aguchi's avatar
      add timestamp to error_report() · 5e2ac519
      Seiji Aguchi authored
      
      [Issue]
      When we offer a customer support service and a problem happens
      in a customer's system, we try to understand the problem by
      comparing what the customer reports with message logs of the
      customer's system.
      
      In this case, we often need to know when the problem happens.
      
      But, currently, there is no timestamp in qemu's error messages.
      Therefore, we may not be able to understand the problem based on
      error messages.
      
      [Solution]
      Add a timestamp to qemu's error message logged by
      error_report() with g_time_val_to_iso8601().
      
      Signed-off-by: default avatarSeiji Aguchi <seiji.aguchi@hds.com>
      Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
      5e2ac519
    • Kevin Wolf's avatar
      qapi-schema: Use existing type for drive-backup arguments · f53cae50
      Kevin Wolf authored
      
      This removes duplicated definitions and documentation by reusing the
      existing data type.
      
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
      f53cae50
    • Kevin Wolf's avatar
      qapi-schema: Use BlockdevSnapshot type for blockdev-snapshot-sync · 852ad1a9
      Kevin Wolf authored
      
      We don't have to duplicate the definition any more now that we may refer
      to a type instead.
      
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Reviewed-by: default avatarMichael Roth <mdroth@linux.vnet.ibm.com>
      Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
      852ad1a9
    • Kevin Wolf's avatar
      qapi.py: Allow top-level type reference for command definitions · b35284ea
      Kevin Wolf authored
      
      If 'data' for a command definition isn't a dict, but a string, it is
      taken as a (struct) type name and the fields of this struct are directly
      used as parameters.
      
      This is useful for transactionable commands that can use the same type
      definition for both the transaction action and the arguments of the
      standalone command.
      
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Reviewed-by: default avatarMichael Roth <mdroth@linux.vnet.ibm.com>
      Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
      b35284ea
    • Kevin Wolf's avatar
      qapi.py: Avoid code duplication · bd9927fe
      Kevin Wolf authored
      
      The code that interprets the read JSON expression and appends types to
      the respective global variables was duplicated. We can avoid that by
      splitting off the part that reads from the file.
      
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Reviewed-by: default avatarMichael Roth <mdroth@linux.vnet.ibm.com>
      Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
      bd9927fe
    • Markus Armbruster's avatar
      qemu-char: Fix ringbuf option size · 0f953051
      Markus Armbruster authored
      
      Any attempt to use it trips an "opt->desc->type == QEMU_OPT_NUMBER"
      assertion.  Broken in commit 1da48c65.
      
      Cc: qemu-stable@nongnu.org
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
      0f953051
    • Anthony Liguori's avatar
      Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into staging · 51455c59
      Anthony Liguori authored
      QOM CPUState refactorings
      
      * Fix for OpenRISCCPU subclasses
      * Fix for gdbstub CPU selection
      * Move linux-user CPU functions into new header
      * CPUState part 10 refactoring: first_cpu, next_cpu, cpu_single_env et al.
      * Fix some targets to consistently inline TCG code generation
      * Centrally log CPU reset
      
      # gpg: Signature made Wed 10 Jul 2013 07:52:39 AM CDT using RSA key ID 3E7E013F
      # gpg: Can't check signature: public key not found
      
      # By Andreas Färber (41) and others
      # Via Andreas Färber
      * afaerber/tags/qom-cpu-for-anthony: (43 commits)
        cpu: Move reset logging to CPUState
        target-ppc: Change LOG_MMU_STATE() argument to CPUState
        target-i386: Change LOG_PCALL_STATE() argument to CPUState
        log: Change log_cpu_state[_mask]() argument to CPUState
        target-i386: Change do_smm_enter() argument to X86CPU
        target-i386: Change do_interrupt_all() argument to X86CPU
        target-xtensa: Change gen_intermediate_code_internal() arg to XtensaCPU
        target-unicore32: Change gen_intermediate_code_internal() signature
        target-sparc: Change gen_intermediate_code_internal() argument to SPARCCPU
        target-sh4: Change gen_intermediate_code_internal() argument to SuperHCPU
        target-s390x: Change gen_intermediate_code_internal() argument to S390CPU
        target-ppc: Change gen_intermediate_code_internal() argument to PowerPCCPU
        target-mips: Change gen_intermediate_code_internal() argument to MIPSCPU
        target-microblaze: Change gen_intermediate_code_internal() argument types
        target-m68k: Change gen_intermediate_code_internal() argument to M68kCPU
        target-lm32: Change gen_intermediate_code_internal() argument to LM32CPU
        target-i386: Change gen_intermediate_code_internal() argument to X86CPU
        target-cris: Change gen_intermediate_code_internal() argument to CRISCPU
        target-arm: Change gen_intermediate_code_internal() argument to ARMCPU
        target-alpha: Change gen_intermediate_code_internal() argument to AlphaCPU
        ...
      51455c59
    • Anthony Liguori's avatar
      Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging · 9f9a03b9
      Anthony Liguori authored
      
      # By Andreas Schwab (2) and others
      # Via Riku Voipio
      * riku/linux-user-for-upstream:
        linux-user: Do not ignore mmap failure from host
        linux-user: improve target_to_host_sock_type conversion
        user-exec.c: Set is_write correctly in the ARM cpu_signal_handler()
        linux-user: Fix sys_utimensat (would not compile on old glibc)
        linux-user: fix signal number range check
        linux-user: add SIOCADDRT/SIOCDELRT support
        linux-user: handle /proc/$$ like /proc/self
      
      Message-id: cover.1373051589.git.riku.voipio@linaro.org
      Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
      9f9a03b9
    • Anthony Liguori's avatar
      Merge remote-tracking branch 'rth/tcg-next' into staging · 6272d17c
      Anthony Liguori authored
      
      # By Richard Henderson
      # Via Richard Henderson
      * rth/tcg-next:
        tcg-arm: Implement tcg_register_jit
        tcg-i386: Use QEMU_BUILD_BUG_ON instead of assert for frame size
        tcg: Move the CIE and FDE header definitions to common code
        tcg: Fix high_pc fields in .debug_info
        tcg-arm: Use AT_PLATFORM to detect the host ISA
        tcg-arm: Simplify logic in detecting the ARM ISA in use
        tcg-arm: Rename use_armv5_instructions to use_armvt5_instructions
        tcg-arm: Make use of conditional availability of opcodes for divide
        tcg: Simplify logic using TCG_OPF_NOT_PRESENT
        tcg: Allow non-constant control macros
        tcg-ppc64: Don't implement rem
        tcg-ppc: Don't implement rem
        tcg-arm: Don't implement rem
        tcg: Split rem requirement from div requirement
        tcg: Add myself to general TCG maintainership
      
      Message-id: 1373379515-28596-1-git-send-email-rth@twiddle.net
      Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
      6272d17c
    • Peter Crosthwaite's avatar
      qom: Fix class cast of NULL classes · 9d6a3d58
      Peter Crosthwaite authored
      
      Its clear from the implementation that class casting is supposed to work
      with a NULL class argument. Guard all dereferences of the class argument
      against NULL accordingly.
      
      Signed-off-by: default avatarPeter Crosthwaite <peter.crosthwaite@xilinx.com>
      Message-id: 94cd5ba46b74eea289a7e582635820c1c54e66fa.1371546907.git.peter.crosthwaite@xilinx.com
      Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
      9d6a3d58
  4. Jul 09, 2013
Loading