qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-ppc] [Qemu-devel] [RFC PATCH v0 0/2] Increase max memslots to


From: Thomas Huth
Subject: Re: [Qemu-ppc] [Qemu-devel] [RFC PATCH v0 0/2] Increase max memslots to 512 for PowerPC
Date: Thu, 2 Jun 2016 09:03:15 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0

On 02.06.2016 06:39, Bharata B Rao wrote:
...
> Agreed. Here is the updated patch:
> 
> spapr: Increase hotpluggable memory slots to 256
> 
> From: Bharata B Rao <address@hidden>
> 
> KVM now supports 512 memslots on PowerPC (earlier it was 32). Allow half
> of it (256) to be used as hotpluggable memory slots.
> 
> Instead of hard coding the max value, use the KVM supplied value if KVM
> is enabled. Otherwise resort to the default value of 32.
> 
> Signed-off-by: Bharata B Rao <address@hidden>
> ---
>  hw/ppc/spapr.c |   15 +++++++++++++--
>  1 file changed, 13 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index 44e401a..c82adef 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -1816,11 +1816,22 @@ static void ppc_spapr_init(MachineState *machine)
>      /* initialize hotplug memory address space */
>      if (machine->ram_size < machine->maxram_size) {
>          ram_addr_t hotplug_mem_size = machine->maxram_size - 
> machine->ram_size;
> +        /*
> +         * Number of memslots supported by KVM on PowerPC was increased
> +         * from 32 to 512. Let us limit the number of hotpluggable slots
> +         * to half of that (256). However ensure that number of slots
> +         * doesn't drop below 32 on older hosts.
> +         */

Using "hard-coded" information like "increased to 512" in comments is
true for the current state, but this has a risk of being out of date
soon. Once we change the memslots in the kernel, this comment is not
true anymore and might cause confusion. Better talk about leaving half
of the kernel memslots for PCI and other devices, or so.

> +        int max_memslots = kvm_enabled() ? kvm_get_max_memslots() / 2 :
> +                           SPAPR_MAX_RAM_SLOTS;
>  
> -        if (machine->ram_slots > SPAPR_MAX_RAM_SLOTS) {
> +        if (max_memslots < SPAPR_MAX_RAM_SLOTS) {
> +            max_memslots = SPAPR_MAX_RAM_SLOTS;
> +        }
> +        if (machine->ram_slots > max_memslots) {
>              error_report("Specified number of memory slots %"
>                           PRIu64" exceeds max supported %d",
> -                         machine->ram_slots, SPAPR_MAX_RAM_SLOTS);
> +                         machine->ram_slots, max_memslots);
>              exit(1);
>          }

The changes to the code look fine to me. So once you've updated the
comment, feel free to add my "Reviewed-by".

 Thomas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]