summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorDr. David Alan Gilbert <dgilbert@redhat.com>2017-02-24 18:28:43 +0000
committerDr. David Alan Gilbert <dgilbert@redhat.com>2017-02-28 11:30:24 +0000
commit0c1f4036db0a166fb74885c377a3691edb9ad659 (patch)
tree0512d0577f2bb2989a6f919d5f4384a70de0d4c0 /docs
parent7e8cafb7137502ce006cc48d0265f89399e0cb33 (diff)
downloadqemu-0c1f4036db0a166fb74885c377a3691edb9ad659.tar.gz
postcopy: Add doc about hugepages and postcopy
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Laurent Vivier <lvivier@redhat.com> Message-Id: <20170224182844.32452-16-dgilbert@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/migration.txt13
1 files changed, 13 insertions, 0 deletions
diff --git a/docs/migration.txt b/docs/migration.txt
index c8b0304d5e..1b940a829b 100644
--- a/docs/migration.txt
+++ b/docs/migration.txt
@@ -540,3 +540,16 @@ request for a page that has already been sent is ignored. Duplicate requests
such as this can happen as a page is sent at about the same time the
destination accesses it.
+=== Postcopy with hugepages ===
+
+Postcopy now works with hugetlbfs backed memory:
+ a) The linux kernel on the destination must support userfault on hugepages.
+ b) The huge-page configuration on the source and destination VMs must be
+ identical; i.e. RAMBlocks on both sides must use the same page size.
+ c) Note that -mem-path /dev/hugepages will fall back to allocating normal
+ RAM if it doesn't have enough hugepages, triggering (b) to fail.
+ Using -mem-prealloc enforces the allocation using hugepages.
+ d) Care should be taken with the size of hugepage used; postcopy with 2MB
+ hugepages works well, however 1GB hugepages are likely to be problematic
+ since it takes ~1 second to transfer a 1GB hugepage across a 10Gbps link,
+ and until the full page is transferred the destination thread is blocked.