[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2/2] migration/postcopy: Explicitly disallow hug
From: |
Juan Quintela |
Subject: |
Re: [Qemu-devel] [PATCH 2/2] migration/postcopy: Explicitly disallow huge pages |
Date: |
Wed, 05 Oct 2016 12:02:30 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
"Daniel P. Berrange" <address@hidden> wrote:
> 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
Reviewed-by: Juan Quintela <address@hidden>
I fixed the message my hand