1. 15 Sep, 2011 1 commit
    • Luiz Capitulino's avatar
      Replace the VMSTOP macros with a proper state type · 1dfb4dd9
      Luiz Capitulino authored
      
      
      Today, when notifying a VM state change with vm_state_notify(),
      we pass a VMSTOP macro as the 'reason' argument. This is not ideal
      because the VMSTOP macros tell why qemu stopped and not exactly
      what the current VM state is.
      
      One example to demonstrate this problem is that vm_start() calls
      vm_state_notify() with reason=0, which turns out to be VMSTOP_USER.
      
      This commit fixes that by replacing the VMSTOP macros with a proper
      state type called RunState.
      Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
      1dfb4dd9
  2. 02 Sep, 2011 1 commit
    • Anthony Liguori's avatar
      main: force enabling of I/O thread · 12d4536f
      Anthony Liguori authored
      
      
      Enabling the I/O thread by default seems like an important part of declaring
      1.0.  Besides allowing true SMP support with KVM, the I/O thread means that the
      TCG VCPU doesn't have to multiplex itself with the I/O dispatch routines which
      currently requires a (racey) signal based alarm system.
      
      I know there have been concerns about performance.  I think so far the ones that
      have come up (virtio-net) are most likely due to secondary reasons like
      decreased batching.
      
      I think we ought to force enabling I/O thread early in 1.0 development and
      commit to resolving any lingering issues.
      Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
      12d4536f
  3. 20 Aug, 2011 1 commit
  4. 23 Jul, 2011 3 commits
  5. 06 Jun, 2011 1 commit
  6. 27 Apr, 2011 3 commits
  7. 15 Apr, 2011 3 commits
  8. 21 Mar, 2011 4 commits
    • Paolo Bonzini's avatar
      remove qemu_get_clock · 6d5ad9bf
      Paolo Bonzini authored
      
      
      These patches are already not doing a great service to out-of-tree
      modifications to QEMU.  However, at least we can warn them by getting
      rid of the old confusing functions, or otherwise causing compilation
      errors.  This patch removes qemu_get_clock; the previous one changed
      qemu_new_timer's signature.
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      6d5ad9bf
    • Paolo Bonzini's avatar
      add a generic scaling mechanism for timers · 4a998740
      Paolo Bonzini authored
      
      
      This enables rt_clock timers to use nanosecond resolution, just by
      using the _ns functions; there is really no reason to forbid that.
      
      Migrated timers are all using vm_clock (of course; but I checked that
      anyway) so the timers in the savevm files are already in nanosecond
      resolution.  So this patch makes no change to the migration format.
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      4a998740
    • Paolo Bonzini's avatar
      change all other clock references to use nanosecond resolution accessors · 74475455
      Paolo Bonzini authored
      
      
      This was done with:
      
          sed -i 's/qemu_get_clock\>/qemu_get_clock_ns/' \
              $(git grep -l 'qemu_get_clock\>' )
          sed -i 's/qemu_new_timer\>/qemu_new_timer_ns/' \
              $(git grep -l 'qemu_new_timer\>' )
      
      after checking that get_clock and new_timer never occur twice
      on the same line.  There were no missed occurrences; however, even
      if there had been, they would have been caught by the compiler.
      
      There was exactly one false positive in qemu_run_timers:
      
           -    current_time = qemu_get_clock (clock);
           +    current_time = qemu_get_clock_ns (clock);
      
      which is of course not in this patch.
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      74475455
    • Paolo Bonzini's avatar
      change all rt_clock references to use millisecond resolution accessors · 7bd427d8
      Paolo Bonzini authored
      
      
      This was done with:
      
          sed -i '/get_clock\>.*rt_clock/s/get_clock\>/get_clock_ms/' \
              $(git grep -l 'get_clock\>.*rt_clock' )
          sed -i '/new_timer\>.*rt_clock/s/new_timer\>/new_timer_ms/' \
              $(git grep -l 'new_timer\>.*rt_clock' )
      
      after checking that get_clock and new_timer never occur twice
      on the same line.  There were no missed occurrences; however, even
      if there had been, they would have been caught by the compiler.
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      7bd427d8
  9. 13 Mar, 2011 2 commits
  10. 23 Feb, 2011 1 commit
  11. 07 Feb, 2011 1 commit
  12. 04 Feb, 2011 3 commits
  13. 22 Jan, 2011 1 commit
  14. 23 Oct, 2010 1 commit
    • Blue Swirl's avatar
      qemu-timer: move commonly used timer code to qemu-timer-common · c57c846a
      Blue Swirl authored
      
      
      Move timer init functions to a new file, qemu-timer-common.c. Make other
      critical timer functions inlined to preserve performance in
      qemu-timer.c, also move muldiv64() (used by the inline functions)
      to qemu-timer.h.
      
      Adjust block/raw-posix.c and simpletrace.c to use get_clock() directly.
      Remove a similar/duplicate definition in qemu-tool.c.
      
      Adjust hw/omap_clk.c to include qemu-timer.h because muldiv64() is used
      there.
      
      After this change, tracing can be used also for user code and
      simpletrace on Win32.
      
      Cc: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
      Acked-by: default avatarStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
      Signed-off-by: default avatarBlue Swirl <blauwirbel@gmail.com>
      c57c846a
  15. 06 Jul, 2010 1 commit
  16. 29 Mar, 2010 1 commit
  17. 27 Mar, 2010 2 commits
  18. 17 Mar, 2010 1 commit