1. 16 6月, 2012 2 次提交
    • D
      Add rate limiting of RTC_CHANGE, BALLOON_CHANGE & WATCHDOG events · afeecec2
      Daniel P. Berrange 提交于
      Allow certain event types to be rate limited to avoid flooding
      monitor clients. The monitor_protocol_event() method is changed
      such that instead of immediately emitting the event to Monitor
      instances, it will call a new monitor_protocol_event_queue()
      method.
      
      This will check to see if the rate limit for the event has been
      exceeded, and if so schedule a timer to wakeup at the end of the
      rate limit period. If further events arrive before the timer fires,
      the previously queued event will be discarded in favour of the new
      event. The event will eventually be emitted when the timer fires.
      
      This logic is applied to RTC_CHANGE, BALLOON_CHANGE & WATCHDOG
      events, since the data associated with these events is stateless
      
       * monitor.c: Add support for rate limiting
       * monitor.h: Define monitor_global_init for one-time setup tasks
       * vl.c: Invoke monitor_global_init
       * trace-events: Add hooks for monitor event tracing
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      Acked-by: NAmit Shah <amit.shah@redhat.com>
      Signed-off-by: NLuiz Capitulino <lcapitulino@redhat.com>
      afeecec2
    • D
      Add event notification for guest balloon changes · 973603a8
      Daniel P. Berrange 提交于
      After setting a balloon target value, applications have to
      continually poll 'query-balloon' to determine whether the
      guest has reacted to this request. The virtio-balloon backend
      knows exactly when the guest has reacted though, and thus it
      is possible to emit a JSON event to tell the mgmt application
      whenever the guest balloon changes.
      
      This introduces a new 'qemu_balloon_changed()' API which is
      to be called by balloon driver backends, whenever they have
      a change in balloon value. This takes the 'actual' balloon
      value, as would be found in the BalloonInfo struct.
      
      The qemu_balloon_change API emits a JSON monitor event which
      looks like:
      
        {"timestamp": {"seconds": 1337162462, "microseconds": 814521},
         "event": "BALLOON_CHANGE", "data": {"actual": 944766976}}
      
      * balloon.c, balloon.h: Introduce qemu_balloon_changed() for
        emitting balloon change events on the monitor
      * hw/virtio-balloon.c: Invoke qemu_balloon_changed() whenever
        the guest changes the balloon actual value
      * monitor.c, monitor.h: Define QEVENT_BALLOON_CHANGE
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      Acked-by: NAmit Shah <amit.shah@redhat.com>
      Signed-off-by: NLuiz Capitulino <lcapitulino@redhat.com>
      973603a8
  2. 15 6月, 2012 22 次提交
  3. 14 6月, 2012 1 次提交
  4. 12 6月, 2012 6 次提交
    • A
      Merge remote-tracking branch 'qemu-kvm/uq/master' into staging · 7677e24f
      Anthony Liguori 提交于
      * qemu-kvm/uq/master:
        kvm: i8254: Fix conversion of in-kernel to userspace state
        kvm/apic: correct short memset
      7677e24f
    • A
      Merge remote-tracking branch 'sstabellini/for_1.1.1' into staging · 248bfdc9
      Anthony Liguori 提交于
      * sstabellini/for_1.1.1:
        qemu/xendisk: set maximum number of grants to be used
      248bfdc9
    • A
      Merge remote-tracking branch 'afaerber-or/qom-cpu-3a' into staging · e4d40816
      Anthony Liguori 提交于
      * afaerber-or/qom-cpu-3a: (27 commits)
        target-s390x: Pass S390CPU to s390_cpu_restart()
        s390-virtio: Let s390_cpu_addr2state() return S390CPU
        s390-virtio: Use cpu_s390x_init() to obtain S390CPU
        target-s390x: Let cpu_s390x_init() return S390CPU
        xen_machine_pv: Use cpu_x86_init() to obtain X86CPU
        arm_pic: Pass ARMCPU to arm_pic_init_cpu()
        arm_boot: Pass ARMCPU to arm_load_kernel()
        xilinx_zynq: Use cpu_arm_init() to obtain ARMCPU
        pxa2xx_gpio: Store ARMCPU in PXA2xxGPIOInfo
        pxa2xx_pic: Store ARMCPU in PXA2xxPICState
        pxa2xx: Pass ARMCPU to pxa2xx_pic_init()
        exynos4210: Use cpu_arm_init() to store ARMCPU
        vexpress: Use cpu_arm_init() to obtain ARMCPU
        realview: Use cpu_arm_init() to obtain ARMCPU
        arm_boot: Pass ARMCPU to arm_boot_info::secondary_cpu_reset_hook()
        arm_boot: Pass ARMCPU to arm_boot_info::write_secondary_boot()
        versatilepb: Use cpu_arm_init() to obtain ARMCPU
        musicpal: Use cpu_arm_init() to obtain ARMCPU
        integratorcp: Use cpu_arm_init() to obtain ARMCPU
        strongarm: Use cpu_arm_init() to store ARMCPU in StrongARMState
        ...
      e4d40816
    • A
      Merge remote-tracking branch 'afaerber-or/qom-next-1' into staging · df332191
      Anthony Liguori 提交于
      * afaerber-or/qom-next-1:
        target-i386: Use uint32 visitor for [x]level properties
        qdev: Remove PropertyInfo range checking
        qdev: Switch property accessors to fixed-width visitor interfaces
        qdev: Use int32_t container for devfn property
        qapi: Add String visitor coverage to serialization unit tests
        qapi: String visitor, use %f representation for floats
        qapi: Unit tests for visitor-based serialization
        qapi: Add Visitor interfaces for uint*_t and int*_t
      df332191
    • A
      Merge remote-tracking branch 'stefanha/trivial-patches' into staging · 3525c42f
      Anthony Liguori 提交于
      * stefanha/trivial-patches:
        configure: report missing libraries for virtfs
        trace/simple.c: fix deprecated glib2 interface
        Clarify comments of tb_invalidate_phys_[page_]range
      3525c42f
    • A
      Merge remote-tracking branch 'kraxel/usb.52' into staging · 39cde845
      Anthony Liguori 提交于
      * kraxel/usb.52: (37 commits)
        ehci: rework frame skipping
        ehci: adaptive wakeup rate.
        ehci: create ehci_update_frindex
        ehci: remove unused attach_poll_counter
        ehci: fix halt status handling
        ehci: update status bits in ehci_set_state
        ehci: add ehci_*_enabled() helpers
        ehci: fix reset
        ehci: kick async schedule on wakeup
        ehci: schedule async bh on async packet completion
        ehci: move async schedule to bottom half
        ehci: add async field to EHCIQueue
        ehci: tweak queue initialization
        ehci: add queuing support
        ehci: move ehci_flush_qh
        ehci: cache USBDevice in EHCIQueue
        ehci: make ehci_execute work on EHCIPacket instead of EHCIQueue
        ehci: add EHCIPacket
        xhci: trace: slots
        xhci: trace: transfers
        ...
      39cde845
  5. 11 6月, 2012 9 次提交