[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2/2] migration/postcopy: Explicitly disallow hug
From: |
Daniel P. Berrange |
Subject: |
Re: [Qemu-devel] [PATCH 2/2] migration/postcopy: Explicitly disallow huge pages |
Date: |
Fri, 30 Sep 2016 09:09:44 +0100 |
User-agent: |
Mutt/1.7.0 (2016-08-17) |
On Thu, Sep 29, 2016 at 08:09:38PM +0100, Dr. David Alan Gilbert (git) wrote:
> From: "Dr. David Alan Gilbert" <address@hidden>
>
> At the moment postcopy will fail as soon as qemu tries to register
> userfault on the RAMBlock pages that are backed by hugepages.
> However, the kernel is going to get userfault support for hugepage
> at some point, and we've not got the rest of the QEMU code to support
> it yet, so fail neatly with an error like:
>
> Postcopy doesn't support hugetlbfs yet (/objects/mem1)
>
> Signed-off-by: Dr. David Alan Gilbert <address@hidden>
> ---
> migration/postcopy-ram.c | 23 +++++++++++++++++++++++
> 1 file changed, 23 insertions(+)
>
> diff --git a/migration/postcopy-ram.c b/migration/postcopy-ram.c
> index 9b04778..9723593 100644
> --- a/migration/postcopy-ram.c
> +++ b/migration/postcopy-ram.c
> @@ -85,6 +85,23 @@ static bool ufd_version_check(int ufd)
> }
>
> /*
> + * Check for things that postcopy won't support; returns 0 if the block
> + * is fine.
> + */
> +static int check_range(const char *block_name, void *host_addr,
> + ram_addr_t offset, ram_addr_t length, void *opaque)
> +{
> + RAMBlock *rb = qemu_ram_block_by_name(block_name);
> +
> + if (qemu_ram_pagesize(rb) > getpagesize()) {
> + error_report("Postcopy doesn't support hugetlbfs yet (%s)",
> block_name);
A small nitpick - I'd suggest s/hugetlbfs/large page sizes/ as this error
will ultimately bubble up to users, and 'large page sizes' is the conceptual
feature
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://entangle-photo.org -o- http://search.cpan.org/~danberr/ :|