1. 05 3月, 2014 1 次提交
  2. 27 2月, 2014 2 次提交
  3. 19 2月, 2014 1 次提交
  4. 09 2月, 2014 1 次提交
  5. 16 1月, 2014 1 次提交
    • G
      usb: add support for microsoft os descriptors · 5319dc7b
      Gerd Hoffmann 提交于
      This patch adds support for special usb descriptors used by microsoft
      windows.  They allow more fine-grained control over driver binding and
      adding entries to the registry for configuration.
      
      As this is a guest-visible change the "msos-desc" compat property
      has been added to turn this off for 1.7 + older
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      5319dc7b
  6. 03 12月, 2013 5 次提交
  7. 28 11月, 2013 2 次提交
  8. 21 9月, 2013 2 次提交
  9. 20 9月, 2013 1 次提交
  10. 10 9月, 2013 1 次提交
  11. 02 9月, 2013 4 次提交
  12. 28 8月, 2013 1 次提交
  13. 29 7月, 2013 2 次提交
  14. 18 7月, 2013 2 次提交
  15. 13 7月, 2013 1 次提交
    • C
      Force auto-convegence of live migration · 7ca1dfad
      Chegu Vinod 提交于
      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: NChegu Vinod <chegu_vinod@hp.com>
      Signed-off-by: NJuan Quintela <quintela@redhat.com>
      7ca1dfad
  16. 28 6月, 2013 1 次提交
    • D
      block: add basic backup support to block driver · 98d2c6f2
      Dietmar Maurer 提交于
      backup_start() creates a block job that copies a point-in-time snapshot
      of a block device to a target block device.
      
      We call backup_do_cow() for each write during backup. That function
      reads the original data from the block device before it gets
      overwritten.  The data is then written to the target device.
      
      Currently backup cluster size is hardcoded to 65536 bytes.
      
      [I made a number of changes to Dietmar's original patch and folded them
      in to make code review easy.  Here is the full list:
      
       * Drop BackupDumpFunc interface in favor of a target block device
       * Detect zero clusters with buffer_is_zero() and use bdrv_co_write_zeroes()
       * Use 0 delay instead of 1us, like other block jobs
       * Unify creation/start functions into backup_start()
       * Simplify cleanup, free bitmap in backup_run() instead of cb
       * function
       * Use HBitmap to avoid duplicating bitmap code
       * Use bdrv_getlength() instead of accessing ->total_sectors
       * directly
       * Delete the backup.h header file, it is no longer necessary
       * Move ./backup.c to block/backup.c
       * Remove #ifdefed out code
       * Coding style and whitespace cleanups
       * Use bdrv_add_before_write_notifier() instead of blockjob-specific hooks
       * Keep our own in-flight CowRequest list instead of using block.c
         tracked requests.  This means a little code duplication but is much
         simpler than trying to share the tracked requests list and use the
         backup block size.
       * Add on_source_error and on_target_error error handling.
       * Use trace events instead of DPRINTF()
      
      -- stefanha]
      Signed-off-by: NDietmar Maurer <dietmar@proxmox.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      98d2c6f2
  17. 25 5月, 2013 1 次提交
  18. 24 5月, 2013 1 次提交
    • S
      coroutine: stop using AioContext in CoQueue · 02ffb504
      Stefan Hajnoczi 提交于
      qemu_co_queue_next(&queue) arranges that the next queued coroutine is
      run at a later point in time.  This deferred restart is useful because
      the caller may not want to transfer control yet.
      
      This behavior was implemented using QEMUBH in the past, which meant that
      CoQueue (and hence CoMutex and CoRwlock) had a dependency on the
      AioContext event loop.  This hidden dependency causes trouble when we
      move to a world with multiple event loops - now qemu_co_queue_next()
      needs to know which event loop to schedule the QEMUBH in.
      
      After pondering how to stash AioContext I realized the best solution is
      to not use AioContext at all.  This patch implements the deferred
      restart behavior purely in terms of coroutines and no longer uses
      QEMUBH.
      
      Here is how it works:
      
      Each Coroutine has a wakeup queue that starts out empty.  When
      qemu_co_queue_next() is called, the next coroutine is added to our
      wakeup queue.  The wakeup queue is processed when we yield or terminate.
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      02ffb504
  19. 20 5月, 2013 1 次提交
  20. 14 5月, 2013 2 次提交
  21. 13 5月, 2013 1 次提交
  22. 03 5月, 2013 2 次提交
  23. 02 5月, 2013 1 次提交
  24. 23 4月, 2013 1 次提交
  25. 19 4月, 2013 1 次提交
  26. 16 4月, 2013 1 次提交
    • G
      use libusb for usb-host · 2b2325ff
      Gerd Hoffmann 提交于
      Reimplement usb-host on top of libusb.
      Reasons to do this:
      
       (1) Largely rewritten from scratch, nice opportunity to kill historical
           cruft.
       (2) Offload usbfs handling to libusb.
       (3) Have a single portable code base instead of bsd + linux variants.
       (4) Bring usb-host support to any platform supported by libusbx.
      
      For now this goes side-by-side to the existing code.  That is only to
      simplify regression testing though, at the end of the day I want remove
      the old code and support libusb exclusively.  Merge early in 1.5 cycle,
      remove the old code after 1.5 release or something like this.
      
      Thanks to qdev the old and new code can coexist nicely on linux.  Just
      use "-device usb-host-linux" to use the old linux driver instead of the
      libusb one (which takes over the "usb-host" name).
      
      The bsd driver isn't qdev'ified so it isn't that easy for bsd.
      I didn't bother making it runtime switchable, so you have to rebuild
      qemu with --disable-libusb to get back the old code.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      2b2325ff