[SLOF] [PATCH 2/2] Increase temporary buffer size of ibm, client-architecture-support call

Alexey Kardashevskiy aik at ozlabs.ru
Wed Dec 23 12:42:22 AEDT 2015


On 12/22/2015 07:25 AM, Thomas Huth wrote:
> The buffer size that we currently use for the client-architecture-
> support call currently only works if there is not more than 1 TiB
> of hot-pluggable RAM for the guest. This will likely not be enough
> in the near future, so increase the buffer size from 128 kiB to 2 MiB
> instead. That should be enough to accomodate for 16 TiB of hot-pluggable
> memory.

Thanks, applied.

Out of curiosity - how much of these 128KiB is actually used for this 1TiB 
of RAM? There are other bits too in that buffer and only a fraction of it 
is per that 1Tib and 2MiB of buffer will support more than 16TiB but how 
much more?


> While we're at it, also rename the "size" variable to something more
> specific (since it is put into the namespace of the root node), and
> add a proper error message in case the alloc-mem fails.
>
> Signed-off-by: Thomas Huth <thuth at redhat.com>
> ---
>   board-qemu/slof/archsupport.fs | 13 +++++++------
>   1 file changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/board-qemu/slof/archsupport.fs b/board-qemu/slof/archsupport.fs
> index f564ab4..a8ace3c 100644
> --- a/board-qemu/slof/archsupport.fs
> +++ b/board-qemu/slof/archsupport.fs
> @@ -10,15 +10,16 @@
>   \ *     IBM Corporation - initial implementation
>   \ ****************************************************************************/
>
> -\ 128KB FDT buffer size is enough to accommodate 255 CPU cores and 1TB of
> -\ maxmem specification.
> -20000 VALUE size
> +\ 2 MiB FDT buffer size is enough to accommodate 255 CPU cores
> +\ and 16 TiB of maxmem specification.
> +200000 CONSTANT cas-buffer-size
>   : ibm,client-architecture-support         ( vec -- err? )
>       \ Store require parameters in nvram
>       \ to come back to right boot device
>       \ Allocate memory for H_CALL
> -    size alloc-mem                        ( vec memaddr )
> -    swap over size                        ( memaddr vec memaddr size )
> +    cas-buffer-size alloc-mem             ( vec memaddr )
> +    dup 0= IF ." out of memory during ibm,client-architecture-support" cr THEN
> +    swap over cas-buffer-size             ( memaddr vec memaddr size )
>       \ make h_call to hypervisor
>       hv-cas 0= IF                          ( memaddr )
>   	dup l@ 1 >= IF                    \ Version number >= 1
> @@ -34,5 +35,5 @@
>       ELSE
>   	TRUE
>       THEN
> -    >r size free-mem r>
> +    >r cas-buffer-size free-mem r>
>   ;
>


-- 
Alexey


More information about the SLOF mailing list