[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 00/15] Postcopy: Hugepage support
From: |
Dr. David Alan Gilbert (git) |
Subject: |
[Qemu-devel] [PATCH 00/15] Postcopy: Hugepage support |
Date: |
Fri, 6 Jan 2017 18:28:08 +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 just gone into 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 (currently at ref 7284072f).
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 (15):
postcopy: Transmit and compare individual page sizes
postcopy: Transmit ram size summary word
postcopy: Chunk discards for hugepages
Fold postcopy_ram_discard_range into ram_discard_range
postcopy: enhance ram_discard_range for hugepages
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 | 13 ++++
include/exec/cpu-common.h | 1 +
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 | 139 +++++++++++++++++---------------------
migration/ram.c | 110 ++++++++++++++++++++++++------
migration/savevm.c | 32 ++++++---
migration/trace-events | 2 +-
12 files changed, 280 insertions(+), 129 deletions(-)
--
2.9.3
- [Qemu-devel] [PATCH 00/15] Postcopy: Hugepage support,
Dr. David Alan Gilbert (git) <=