qemu-patch-raspberry4/include/net/announce.h
Dr. David Alan Gilbert 7659505c16 migration: Switch to using announce timer
Switch the announcements to using the new announce timer.
Move the code that does it to announce.c rather than savevm
because it really has nothing to do with the actual migration.

Migration starts the announce from bh's and so they're all
in the main thread/bql, and so there's never any racing with
the timers themselves.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
2019-03-05 11:27:41 +08:00

42 lines
1.1 KiB
C

/*
* Self-announce facility
* (c) 2017-2019 Red Hat, Inc.
*
* This work is licensed under the terms of the GNU GPL, version 2 or later.
* See the COPYING file in the top-level directory.
*/
#ifndef QEMU_NET_ANNOUNCE_H
#define QEMU_NET_ANNOUNCE_H
#include "qemu-common.h"
#include "qapi/qapi-types-net.h"
#include "qemu/timer.h"
struct AnnounceTimer {
QEMUTimer *tm;
AnnounceParameters params;
QEMUClockType type;
int round;
};
/* Returns: update the timer to the next time point */
int64_t qemu_announce_timer_step(AnnounceTimer *timer);
/* Delete the underlying timer */
void qemu_announce_timer_del(AnnounceTimer *timer);
/*
* Under BQL/main thread
* Reset the timer to the given parameters/type/notifier.
*/
void qemu_announce_timer_reset(AnnounceTimer *timer,
AnnounceParameters *params,
QEMUClockType type,
QEMUTimerCB *cb,
void *opaque);
void qemu_announce_self(AnnounceTimer *timer, AnnounceParameters *params);
#endif