[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 00/16] Postcopy: Hugepage support
From: |
Dr. David Alan Gilbert (git) |
Subject: |
[Qemu-devel] [PATCH v2 00/16] Postcopy: Hugepage support |
Date: |
Mon, 6 Feb 2017 17:32:50 +0000 |
From: "Dr. David Alan Gilbert" <address@hidden>
Hi,
The existing postcopy code, and the userfault kernel
code that supports it, only works for normal anonymous memory.
Kernel support for userfault on hugetlbfs is working
it's way upstream; it's in the linux-mm tree,
You can get a version at:
git://git.kernel.org/pub/scm/linux/kernel/git/andrea/aa.git
on the origin/userfault branch.
Note that while this code supports arbitrary sized hugepages,
it doesn't make sense with pages above the few-MB region,
so while 2MB is fine, 1GB is probably a bad idea;
this code waits for and transmits whole huge pages, and a
1GB page would take about 1 second to transfer over a 10Gbps
link - which is way too long to pause the destination for.
Dave
Dr. David Alan Gilbert (16):
postcopy: Transmit ram size summary word
postcopy: Transmit and compare individual page sizes
postcopy: Chunk discards for hugepages
exec: ram_block_discard_range
postcopy: enhance ram_block_discard_range for hugepages
Fold postcopy_ram_discard_range into ram_discard_range
postcopy: Record largest page size
postcopy: Plumb pagesize down into place helpers
postcopy: Use temporary for placing zero huge pages
postcopy: Load huge pages in one go
postcopy: Mask fault addresses to huge page boundary
postcopy: Send whole huge pages
postcopy: Allow hugepages
postcopy: Update userfaultfd.h header
postcopy: Check for userfault+hugepage feature
postcopy: Add doc about hugepages and postcopy
docs/migration.txt | 13 ++++
exec.c | 83 +++++++++++++++++++++++
include/exec/cpu-common.h | 2 +
include/exec/memory.h | 1 -
include/migration/migration.h | 3 +
include/migration/postcopy-ram.h | 13 ++--
linux-headers/linux/userfaultfd.h | 81 +++++++++++++++++++---
migration/migration.c | 1 +
migration/postcopy-ram.c | 138 +++++++++++++++++---------------------
migration/ram.c | 109 ++++++++++++++++++------------
migration/savevm.c | 32 ++++++---
migration/trace-events | 2 +-
12 files changed, 328 insertions(+), 150 deletions(-)
--
2.9.3
- [Qemu-devel] [PATCH v2 00/16] Postcopy: Hugepage support,
Dr. David Alan Gilbert (git) <=