All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Vivier <lvivier@redhat.com>
To: Greg Kurz <groug@kaod.org>, David Gibson <david@gibson.dropbear.id.au>
Cc: clg@kaod.org, qemu-ppc@nongnu.org, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] spapr: Correct RAM size calculation for HPT resizing
Date: Tue, 10 Oct 2017 17:21:53 +0200	[thread overview]
Message-ID: <955ac977-e20b-4c55-bbaa-a51c41f2bed3@redhat.com> (raw)
In-Reply-To: <20171010164431.168777e9@bahia.lan>

On 10/10/2017 16:44, Greg Kurz wrote:
> On Wed, 11 Oct 2017 00:21:59 +1100
> David Gibson <david@gibson.dropbear.id.au> wrote:
> 
>> In order to prevent the guest from forcing the allocation of large amounts
>> of qemu memory (or host kernel memory, in the case of KVM HV), we limit
>> the size of Hashed Page Table (HPT) it is allowed to allocated, based on
>> its RAM size.
>>
>> However, the current calculation is not correct: it only adds up the size
>> of plugged memory, ignoring the base memory size.  This patch corrects it.
>>
>> While we're there, use get_plugged_memory_size() instead of directly
>> calling pc_existing_dimms_capacity().  The only difference is that it
>> will abort on failure, which is right: a failure here indicates something
>> wrong within qemu.
>>
>> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
>> ---
>>  hw/ppc/spapr_hcall.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/hw/ppc/spapr_hcall.c b/hw/ppc/spapr_hcall.c
>> index 8d72bb7c1c..06af1b15c0 100644
>> --- a/hw/ppc/spapr_hcall.c
>> +++ b/hw/ppc/spapr_hcall.c
>> @@ -494,7 +494,7 @@ static target_ulong h_resize_hpt_prepare(PowerPCCPU *cpu,
>>          return H_PARAMETER;
>>      }
>>  
>> -    current_ram_size = pc_existing_dimms_capacity(&error_fatal);
>> +    current_ram_size = ram_size + get_plugged_memory_size();
> 
> current_ram_size is initialized earlier in this function:
> 
>     uint64_t current_ram_size = MACHINE(spapr)->ram_size;
> 
> which is is initialized to ram_size in vl.c. Why not doing:
> 
>     current_ram_size += get_plugged_memory_size();
> 
> ?

I agree, it seems like the original intend of the first patch...

Thanks,
Laurent

  reply	other threads:[~2017-10-10 15:22 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-10 13:21 [Qemu-devel] [PATCH] spapr: Correct RAM size calculation for HPT resizing David Gibson
2017-10-10 13:59 ` Laurent Vivier
2017-10-10 14:44 ` Greg Kurz
2017-10-10 15:21   ` Laurent Vivier [this message]
2017-10-11  0:04     ` David Gibson
2017-10-10 15:10 ` [Qemu-devel] [Qemu-ppc] " Andrea Bolognani
2017-10-10 23:20   ` David Gibson
2017-10-10 15:16 ` [Qemu-devel] " no-reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=955ac977-e20b-4c55-bbaa-a51c41f2bed3@redhat.com \
    --to=lvivier@redhat.com \
    --cc=clg@kaod.org \
    --cc=david@gibson.dropbear.id.au \
    --cc=groug@kaod.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.