qemu-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]