summaryrefslogtreecommitdiffstats
path: root/include/migration
diff options
context:
space:
mode:
authorStefan Hajnoczi2017-05-05 17:52:12 +0200
committerStefan Hajnoczi2017-05-05 17:52:35 +0200
commit4aee86c60a53a3478d9799a4464cf0bc08071148 (patch)
treea8fa7c5aba4aa18e52fd8182cce9cc5872df1fa3 /include/migration
parentMerge remote-tracking branch 'kraxel/tags/pull-audio-20170504-1' into staging (diff)
parentmigration: Extra tracing (diff)
downloadqemu-4aee86c60a53a3478d9799a4464cf0bc08071148.tar.gz
qemu-4aee86c60a53a3478d9799a4464cf0bc08071148.tar.xz
qemu-4aee86c60a53a3478d9799a4464cf0bc08071148.zip
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.h3
-rw-r--r--include/migration/postcopy-ram.h94
2 files changed, 2 insertions, 95 deletions
diff --git a/include/migration/migration.h b/include/migration/migration.h
index ba1a16cbc1..e29cb0144b 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 8e036b95a2..0000000000
--- 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