diff options
author | Stefan Hajnoczi <stefanha@redhat.com> | 2017-05-05 16:52:12 +0100 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2017-05-05 16:52:35 +0100 |
commit | 4aee86c60a53a3478d9799a4464cf0bc08071148 (patch) | |
tree | a8fa7c5aba4aa18e52fd8182cce9cc5872df1fa3 /include/migration | |
parent | bc56fd3a23c94302937ed023d33e17a2de1a1b2a (diff) | |
parent | 1db9d8e501fc99fa2201f228627952aee6cfc349 (diff) | |
download | qemu-4aee86c60a53a3478d9799a4464cf0bc08071148.zip qemu-4aee86c60a53a3478d9799a4464cf0bc08071148.tar.gz qemu-4aee86c60a53a3478d9799a4464cf0bc08071148.tar.bz2 |
Merge remote-tracking branch 'quintela/tags/migration/20170504' into staging
migration/next for 20170504
# gpg: Signature made Thu 04 May 2017 10:35:41 AM BST
# gpg: using RSA key 0xF487EF185872D723
# gpg: Good signature from "Juan Quintela <quintela@redhat.com>"
# gpg: aka "Juan Quintela <quintela@trasno.org>"
# Primary key fingerprint: 1899 FF8E DEBF 58CC EE03 4B82 F487 EF18 5872 D723
* quintela/tags/migration/20170504:
migration: Extra tracing
migration: Move postcopy-ram.h to migration/
monitor: Move hmp_info_snapshots from savevm.c to hmp.c
monitor: Move hmp_delvm from savevm.c to hmp.c
monitor: Move hmp_savevm from savevm.c to hmp.c
monitor: Move hmp_loadvm from monitor.c to hmp.c
monitor: Remove monitor parameter from save_vmstate
migration: to_dst_file at that point is NULL
migration: setup bi-directional I/O channel for exec: protocol
ram: Split dirty bitmap by RAMBlock
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'include/migration')
-rw-r--r-- | include/migration/migration.h | 3 | ||||
-rw-r--r-- | include/migration/postcopy-ram.h | 94 |
2 files changed, 2 insertions, 95 deletions
diff --git a/include/migration/migration.h b/include/migration/migration.h index ba1a16c..e29cb01 100644 --- a/include/migration/migration.h +++ b/include/migration/migration.h @@ -266,7 +266,8 @@ uint64_t xbzrle_mig_pages_cache_miss(void); double xbzrle_mig_cache_miss_rate(void); void ram_handle_compressed(void *host, uint8_t ch, uint64_t size); -void ram_debug_dump_bitmap(unsigned long *todump, bool expected); +void ram_debug_dump_bitmap(unsigned long *todump, bool expected, + unsigned long pages); /* For outgoing discard bitmap */ int ram_postcopy_send_discard_bitmap(MigrationState *ms); /* For incoming postcopy discard */ diff --git a/include/migration/postcopy-ram.h b/include/migration/postcopy-ram.h deleted file mode 100644 index 8e036b9..0000000 --- a/include/migration/postcopy-ram.h +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Postcopy migration for RAM - * - * Copyright 2013 Red Hat, Inc. and/or its affiliates - * - * Authors: - * Dave Gilbert <dgilbert@redhat.com> - * - * 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_POSTCOPY_RAM_H -#define QEMU_POSTCOPY_RAM_H - -/* Return true if the host supports everything we need to do postcopy-ram */ -bool postcopy_ram_supported_by_host(void); - -/* - * Make all of RAM sensitive to accesses to areas that haven't yet been written - * and wire up anything necessary to deal with it. - */ -int postcopy_ram_enable_notify(MigrationIncomingState *mis); - -/* - * Initialise postcopy-ram, setting the RAM to a state where we can go into - * postcopy later; must be called prior to any precopy. - * called from ram.c's similarly named ram_postcopy_incoming_init - */ -int postcopy_ram_incoming_init(MigrationIncomingState *mis, size_t ram_pages); - -/* - * At the end of a migration where postcopy_ram_incoming_init was called. - */ -int postcopy_ram_incoming_cleanup(MigrationIncomingState *mis); - -/* - * Userfault requires us to mark RAM as NOHUGEPAGE prior to discard - * however leaving it until after precopy means that most of the precopy - * data is still THPd - */ -int postcopy_ram_prepare_discard(MigrationIncomingState *mis); - -/* - * Called at the start of each RAMBlock by the bitmap code. - * 'offset' is the bitmap offset of the named RAMBlock in the migration - * bitmap. - * Returns a new PDS - */ -PostcopyDiscardState *postcopy_discard_send_init(MigrationState *ms, - unsigned long offset, - const char *name); - -/* - * Called by the bitmap code for each chunk to discard. - * May send a discard message, may just leave it queued to - * be sent later. - * @start,@length: a range of pages in the migration bitmap in the - * RAM block passed to postcopy_discard_send_init() (length=1 is one page) - */ -void postcopy_discard_send_range(MigrationState *ms, PostcopyDiscardState *pds, - unsigned long start, unsigned long length); - -/* - * Called at the end of each RAMBlock by the bitmap code. - * Sends any outstanding discard messages, frees the PDS. - */ -void postcopy_discard_send_finish(MigrationState *ms, - PostcopyDiscardState *pds); - -/* - * Place a page (from) at (host) efficiently - * There are restrictions on how 'from' must be mapped, in general best - * to use other postcopy_ routines to allocate. - * returns 0 on success - */ -int postcopy_place_page(MigrationIncomingState *mis, void *host, void *from, - size_t pagesize); - -/* - * Place a zero page at (host) atomically - * returns 0 on success - */ -int postcopy_place_page_zero(MigrationIncomingState *mis, void *host, - size_t pagesize); - -/* - * Allocate a page of memory that can be mapped at a later point in time - * using postcopy_place_page - * Returns: Pointer to allocated page - */ -void *postcopy_get_tmp_page(MigrationIncomingState *mis); - -#endif |