qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 00/16] Postcopy: Hugepage support
@ 2017-02-06 17:32 Dr. David Alan Gilbert (git)
  2017-02-06 17:32 ` [Qemu-devel] [PATCH v2 01/16] postcopy: Transmit ram size summary word Dr. David Alan Gilbert (git)
                   ` (18 more replies)
  0 siblings, 19 replies; 73+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2017-02-06 17:32 UTC (permalink / raw)
  To: qemu-devel, quintela; +Cc: aarcange

From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>

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

^ permalink raw reply	[flat|nested] 73+ messages in thread

end of thread, other threads:[~2017-02-27 19:04 UTC | newest]

Thread overview: 73+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-06 17:32 [Qemu-devel] [PATCH v2 00/16] Postcopy: Hugepage support Dr. David Alan Gilbert (git)
2017-02-06 17:32 ` [Qemu-devel] [PATCH v2 01/16] postcopy: Transmit ram size summary word Dr. David Alan Gilbert (git)
2017-02-24 10:16   ` Laurent Vivier
2017-02-24 13:10   ` Juan Quintela
2017-02-06 17:32 ` [Qemu-devel] [PATCH v2 02/16] postcopy: Transmit and compare individual page sizes Dr. David Alan Gilbert (git)
2017-02-24 10:31   ` Laurent Vivier
2017-02-24 10:48     ` Dr. David Alan Gilbert
2017-02-24 10:50       ` Laurent Vivier
2017-02-24 13:13   ` Juan Quintela
2017-02-06 17:32 ` [Qemu-devel] [PATCH v2 03/16] postcopy: Chunk discards for hugepages Dr. David Alan Gilbert (git)
2017-02-24 13:48   ` Laurent Vivier
2017-02-06 17:32 ` [Qemu-devel] [PATCH v2 04/16] exec: ram_block_discard_range Dr. David Alan Gilbert (git)
2017-02-24 13:14   ` Juan Quintela
2017-02-24 14:04   ` Laurent Vivier
2017-02-24 16:50     ` Dr. David Alan Gilbert
2017-02-24 14:08   ` Laurent Vivier
2017-02-24 15:35     ` Dr. David Alan Gilbert
2017-02-06 17:32 ` [Qemu-devel] [PATCH v2 05/16] postcopy: enhance ram_block_discard_range for hugepages Dr. David Alan Gilbert (git)
2017-02-24 13:20   ` Juan Quintela
2017-02-24 13:44     ` Dr. David Alan Gilbert
2017-02-24 14:20   ` Laurent Vivier
2017-02-06 17:32 ` [Qemu-devel] [PATCH v2 06/16] Fold postcopy_ram_discard_range into ram_discard_range Dr. David Alan Gilbert (git)
2017-02-24 13:21   ` Juan Quintela
2017-02-24 14:26   ` Laurent Vivier
2017-02-24 16:02     ` Dr. David Alan Gilbert
2017-02-06 17:32 ` [Qemu-devel] [PATCH v2 07/16] postcopy: Record largest page size Dr. David Alan Gilbert (git)
2017-02-24 13:22   ` Juan Quintela
2017-02-24 14:37   ` Laurent Vivier
2017-02-06 17:32 ` [Qemu-devel] [PATCH v2 08/16] postcopy: Plumb pagesize down into place helpers Dr. David Alan Gilbert (git)
2017-02-24 13:24   ` Juan Quintela
2017-02-24 15:10   ` Laurent Vivier
2017-02-24 15:21     ` Dr. David Alan Gilbert
2017-02-06 17:32 ` [Qemu-devel] [PATCH v2 09/16] postcopy: Use temporary for placing zero huge pages Dr. David Alan Gilbert (git)
2017-02-24 15:31   ` Laurent Vivier
2017-02-24 15:46     ` Dr. David Alan Gilbert
2017-02-24 17:24       ` Laurent Vivier
2017-02-06 17:33 ` [Qemu-devel] [PATCH v2 10/16] postcopy: Load huge pages in one go Dr. David Alan Gilbert (git)
2017-02-24 15:54   ` Laurent Vivier
2017-02-24 16:32     ` Dr. David Alan Gilbert
2017-02-06 17:33 ` [Qemu-devel] [PATCH v2 11/16] postcopy: Mask fault addresses to huge page boundary Dr. David Alan Gilbert (git)
2017-02-24 15:59   ` Laurent Vivier
2017-02-24 16:34     ` Dr. David Alan Gilbert
2017-02-06 17:33 ` [Qemu-devel] [PATCH v2 12/16] postcopy: Send whole huge pages Dr. David Alan Gilbert (git)
2017-02-24 16:06   ` Laurent Vivier
2017-02-06 17:33 ` [Qemu-devel] [PATCH v2 13/16] postcopy: Allow hugepages Dr. David Alan Gilbert (git)
2017-02-24 16:07   ` Laurent Vivier
2017-02-06 17:33 ` [Qemu-devel] [PATCH v2 14/16] postcopy: Update userfaultfd.h header Dr. David Alan Gilbert (git)
2017-02-24 16:09   ` Laurent Vivier
2017-02-06 17:33 ` [Qemu-devel] [PATCH v2 15/16] postcopy: Check for userfault+hugepage feature Dr. David Alan Gilbert (git)
2017-02-24 16:12   ` Laurent Vivier
2017-02-06 17:33 ` [Qemu-devel] [PATCH v2 16/16] postcopy: Add doc about hugepages and postcopy Dr. David Alan Gilbert (git)
2017-02-24 13:25   ` Juan Quintela
2017-02-24 16:12   ` Laurent Vivier
2017-02-06 17:45 ` [Qemu-devel] [PATCH v2 00/16] Postcopy: Hugepage support Dr. David Alan Gilbert
     [not found]   ` <CGME20170213171108eucas1p147999fc8b6980ff89a67626b78b12e44@eucas1p1.samsung.com>
2017-02-13 17:11     ` Alexey Perevalov
2017-02-13 17:57       ` Andrea Arcangeli
2017-02-13 18:10         ` Andrea Arcangeli
2017-02-13 21:59           ` Mike Kravetz
2017-02-14 14:48         ` Alexey Perevalov
2017-02-17 16:47           ` Andrea Arcangeli
2017-02-20 16:01             ` Alexey Perevalov
2017-02-13 18:16       ` Dr. David Alan Gilbert
2017-02-14 16:22         ` Alexey Perevalov
2017-02-14 19:34           ` Dr. David Alan Gilbert
2017-02-21  7:31             ` Alexey Perevalov
2017-02-21 10:03               ` Dr. David Alan Gilbert
2017-02-27 11:05                 ` Alexey Perevalov
2017-02-27 11:26                   ` Dr. David Alan Gilbert
2017-02-27 15:00                     ` Andrea Arcangeli
2017-02-27 15:47                       ` Daniel P. Berrange
2017-02-27 19:04                     ` Alexey Perevalov
2017-02-22 16:43 ` Laurent Vivier
2017-02-24 10:04 ` Dr. David Alan Gilbert

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).