From: Eric Blake <eblake@redhat.com>
To: Markus Armbruster <armbru@redhat.com>, qemu-devel@nongnu.org
Cc: amit.shah@redhat.com, marcandre.lureau@redhat.com, lersek@redhat.com
Subject: Re: [Qemu-devel] [RFC 4/6] monitor: Turn monitor_qapi_event_state[] into a hash table
Date: Fri, 25 Sep 2015 13:21:55 -0600 [thread overview]
Message-ID: <56059ED3.3030902@redhat.com> (raw)
In-Reply-To: <1443189647-11417-5-git-send-email-armbru@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 1227 bytes --]
On 09/25/2015 08:00 AM, Markus Armbruster wrote:
> In preparation of finer grained throttling.
>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
> monitor.c | 55 ++++++++++++++++++++++++++++++++++++++-----------------
> 1 file changed, 38 insertions(+), 17 deletions(-)
>
> @@ -512,6 +518,14 @@ monitor_qapi_event_queue(QAPIEvent event, QDict *qdict, Error **errp)
> int64_t now = qemu_clock_get_ns(QEMU_CLOCK_REALTIME);
>
> monitor_qapi_event_emit(event, qdict);
> +
> + evstate = g_new(MonitorQAPIEventState, 1);
> + evstate->event = event;
> + evstate->qdict = NULL;
> + evstate->timer = timer_new_ns(QEMU_CLOCK_REALTIME,
> + monitor_qapi_event_handler,
> + evstate);
Now timers are created and destroyed dynamically upon use rather than
reused and just waiting to be rearmed; I hope there aren't any obvious
inefficiencies from doing that.
The conversion looks sane:
Reviewed-by: Eric Blake <eblake@redhat.com>
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]
next prev parent reply other threads:[~2015-09-25 19:22 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-25 14:00 [Qemu-devel] [RFC 0/6] Throttle event VSERPORT_CHANGE separately by "id" Markus Armbruster
2015-09-25 14:00 ` [Qemu-devel] [RFC 1/6] monitor: Reduce casting of QAPI event QDict Markus Armbruster
2015-09-25 16:27 ` Eric Blake
2015-09-25 14:00 ` [Qemu-devel] [RFC 2/6] monitor: Simplify event throttling Markus Armbruster
2015-09-25 16:42 ` Eric Blake
2015-09-28 8:14 ` Markus Armbruster
2015-09-25 14:00 ` [Qemu-devel] [RFC 3/6] monitor: Split MonitorQAPIEventConf off MonitorQAPIEventState Markus Armbruster
2015-09-25 19:15 ` Eric Blake
2015-09-28 8:24 ` Markus Armbruster
2015-09-25 14:00 ` [Qemu-devel] [RFC 4/6] monitor: Turn monitor_qapi_event_state[] into a hash table Markus Armbruster
2015-09-25 19:21 ` Eric Blake [this message]
2015-09-28 8:32 ` Markus Armbruster
2015-09-25 14:00 ` [Qemu-devel] [RFC 5/6] monitor: Throttle event VSERPORT_CHANGE separately by "id" Markus Armbruster
2015-09-25 19:24 ` Eric Blake
2015-09-28 8:33 ` Markus Armbruster
2015-09-25 14:00 ` [Qemu-devel] [RFC 6/6] docs: Document QMP event rate limiting Markus Armbruster
2015-09-25 19:33 ` Eric Blake
2015-09-28 8:38 ` Markus Armbruster
2015-09-28 15:15 ` Eric Blake
2015-09-29 8:06 ` Markus Armbruster
2015-09-25 14:32 ` [Qemu-devel] [RFC 0/6] Throttle event VSERPORT_CHANGE separately by "id" Marc-André Lureau
2015-09-28 8:53 ` Markus Armbruster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56059ED3.3030902@redhat.com \
--to=eblake@redhat.com \
--cc=amit.shah@redhat.com \
--cc=armbru@redhat.com \
--cc=lersek@redhat.com \
--cc=marcandre.lureau@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.