[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 00/16] Postcopy: Hugepage support
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [Qemu-devel] [PATCH v2 00/16] Postcopy: Hugepage support |
Date: |
Mon, 6 Feb 2017 17:45:30 +0000 |
User-agent: |
Mutt/1.7.1 (2016-10-04) |
* Dr. David Alan Gilbert (git) (address@hidden) wrote:
> 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
Oops I missed the v2 changes from the message:
v2
Flip ram-size summary word/compare individual page size patches around
Individual page size comparison is done in ram_load if 'advise' has been
received rather than checking migrate_postcopy_ram()
Moved discard code into exec.c, reworked ram_discard_range
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
>
>
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK