Lines Matching +full:always +full:- +full:wait +full:- +full:for +full:- +full:ack

10  * the COPYING file in the top-level directory.
17 #include "exec/cpu-common.h"
18 #include "hw/qdev-core.h"
19 #include "qapi/qapi-types-migration.h"
20 #include "qapi/qmp/json-writer.h"
24 #include "io/channel-buffer.h"
27 #include "postcopy-ram.h"
50 * 1<<6=64 pages -> 256K chunk when page size is 4K. This gives us
52 * bitmaps are always aligned to LONG.
56 * 1<<18=256K pages -> 1G chunk when page size is 4K. This is the
61 * 1<<31=2G pages -> 8T chunk when page size is 4K. This should be
66 /* This is an abstraction of a "temp huge page" for postcopy's purpose */
69 * This points to a temporary huge page as a buffer for UFFDIO_COPY. It's
74 * This points to the host page we're going to install for this temp page.
90 /* State for the incoming migration */
109 /* For network announces */
121 /* For the kernel to send us notifications */
139 /* QEMUFile for postcopy only; it'll be handled by a separate thread */
143 * One can wait on this semaphore to wait until the preempt channel is
150 * Always set by the main vm load thread only, but can be read by the
152 * up-to-date across cores.
160 * The ram fast load thread will take it mostly for the whole lifecycle
168 * An array of temp host huge pages to be used, one for each postcopy
172 /* This is shared for all postcopy channels */
174 /* PostCopyFD's for external userfaultfds & handlers of shared memory */
180 * The incoming migration coroutine, non-NULL during qemu_loadvm_state().
182 * it safe - it's a question.
191 * PostcopyBlocktimeContext to keep information for postcopy
213 * For postcopy only, count the number of requested page faults that
220 * the per-ramblock receivedmap. Note! This does not guarantee consistency
223 * for that page already. This is intended so that the mutex won't
225 * this should be enough to make sure the page_requested tree always
233 * will use this condvar to synchronize, so the main thread will always
234 * wait until all pages received.
240 * zero an ACK that it's OK to do switchover is sent to the source. No lock
280 * used for both the start or recover of a postcopy migration. We'll
282 * main thread, and we keep post() and wait() in pair.
311 * measured bandwidth, or avail-switchover-bandwidth if specified.
315 /* params from 'migrate-set-parameters' */
326 * We can also check non-zero of rp_thread, but there's no "official"
328 * Checking from_dst_file for this is racy because from_dst_file will
334 * path thread. The migration thread can wait() on this sem, while
376 /* Migration is waiting for guest to unplug device */
379 /* Migration is paused due to pause-before-switchover */
407 /* Needed by postcopy-pause state */
415 * - postcopy preempt src QEMU instance will generate an EOS message at
418 * - postcopy preempt channel will be created at the setup phase on src
423 * - postcopy preempt src QEMU instance will _not_ generate an EOS
427 * - postcopy preempt channel will be created at the switching phase
428 * from precopy -> postcopy (to avoid race condition of misordered
431 * NOTE: See message-id <ZBoShWArKDPpX/D7@work-vm> on qemu-devel
432 * mailing list for more information on the possible race. Everyone
442 * ram pages with pages for the following iteration. We really
444 * dirty pages. For historical reasons, we do that after each
453 * bitmap for each page to send (1<<0=1); N=10 means we will clear
454 * dirty bitmap only once for 1<<10=1K continuous guest pages
460 * This save hostname when out-going migration starts
464 /* QEMU_VM_VMDESCRIPTION content filled for all non-iterable devices. */
468 * Indicates whether an ACK from the destination that it's OK to do
504 /* Sending on the return path - generic and then for each message type */
543 * Migration thread waiting for return path thread. Return non-zero if an
548 * Kick the migration thread waiting for return path messages. NOTE: the
550 * to remember the target is always the migration thread.
556 /* migration/block-dirty-bitmap.c */