[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 4/6] Migration: Emit event at start of pass
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [Qemu-devel] [PATCH v2 4/6] Migration: Emit event at start of pass |
Date: |
Wed, 16 Dec 2015 16:52:14 +0000 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
* Eric Blake (address@hidden) wrote:
> On 12/16/2015 04:47 AM, Dr. David Alan Gilbert (git) wrote:
> > From: "Dr. David Alan Gilbert" <address@hidden>
> >
> > Emit an event each time we sync the dirty bitmap on the source;
> > this helps libvirt use postcopy by giving it a kick when it
> > might be a good idea to start the postcopy.
> >
> > Signed-off-by: Dr. David Alan Gilbert <address@hidden>
> > ---
> > docs/qmp-events.txt | 14 ++++++++++++++
> > migration/ram.c | 4 ++++
> > qapi/event.json | 13 +++++++++++++
> > 3 files changed, 31 insertions(+)
> >
>
> >
> > +MIGRATION_PASS
> > +--------------
> > +
> > +Emitted from the source side of a migration at the start of each pass
> > +(when it syncs the dirty bitmap)
> > +
> > +Data: None.
> > +
> > + - "pass": An incrementing count (starting at 1 on the first pass)
> > +
> > +Example:
> > +{"timestamp": {"seconds": 1449669631, "microseconds": 239225},
> > + "event": "MIGRATION_PASS", "data": {"pass": 2}}
>
> How frequently can this event be emitted? It is not under guest
> control, so it's harder to argue that it could be abused as a way for
> the guest to DoS the host. And hopefully it is slow enough (considering
> that each pass also requires lots more effort for actually transmitting
> state from source to dest), so I don't think we have to worry about
> adding rate-limiting to avoid overwhelming the monitor client.
The only way that you'd get a rapid repetition of the events
is if the pass was very short. However a very short pass is normally
the signal to exit the iterative loop of migration and send the
last blob at the end of migration. And that definition of 'short' is
determined by the downtime set by the management layer anyway.
>
> Reviewed-by: Eric Blake <address@hidden>
Thanks.
Dave
>
> --
> Eric Blake eblake redhat com +1-919-301-3266
> Libvirt virtualization library http://libvirt.org
>
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK
- [Qemu-devel] [PATCH v2 0/6] Migration: Small fixes and improvements, Dr. David Alan Gilbert (git), 2015/12/16
- [Qemu-devel] [PATCH v2 3/6] Postcopy: Send events/change state on incoming side, Dr. David Alan Gilbert (git), 2015/12/16
- [Qemu-devel] [PATCH v2 1/6] migration: Export migrate_set_state(), Dr. David Alan Gilbert (git), 2015/12/16
- [Qemu-devel] [PATCH v2 2/6] migration: Add state records for migration incoming, Dr. David Alan Gilbert (git), 2015/12/16
- [Qemu-devel] [PATCH v2 4/6] Migration: Emit event at start of pass, Dr. David Alan Gilbert (git), 2015/12/16
- [Qemu-devel] [PATCH v2 6/6] multithread decompression: Avoid one copy, Dr. David Alan Gilbert (git), 2015/12/16
- [Qemu-devel] [PATCH v2 5/6] Use qemu_get_buffer_in_place for xbzrle data, Dr. David Alan Gilbert (git), 2015/12/16