[pve-devel] [PATCH qemu-server 04/10] memory: add get_static_mem

Fiona Ebner f.ebner at proxmox.com
Fri Dec 16 14:38:58 CET 2022


Am 09.12.22 um 20:27 schrieb Alexandre Derumier:
> Signed-off-by: Alexandre Derumier <aderumier at odiso.com>
> ---

Ideally, this would be two patches:
One for introducing the helper
One for handling the new 'max' property (the patches that handle 'max'
could also be squashed together with the one introducing the property,
but It's fine either way).

>  PVE/QemuServer/Memory.pm | 50 ++++++++++++++++++++++++----------------
>  1 file changed, 30 insertions(+), 20 deletions(-)
> 
> diff --git a/PVE/QemuServer/Memory.pm b/PVE/QemuServer/Memory.pm
> index 668508b..90e355b 100644
> --- a/PVE/QemuServer/Memory.pm
> +++ b/PVE/QemuServer/Memory.pm
> @@ -15,7 +15,33 @@ get_current_memory
>  );
>  
>  my $MAX_NUMA = 8;
> -my $STATICMEM = 1024;
> +
> +my sub get_static_mem {
> +    my ($conf) = @_;
> +
> +    my $sockets = 1;

Could get the default via load_defaults().

> +    $sockets = $conf->{smp} if $conf->{smp}; # old style - no longer iused

Can be dropped. AFAICT, smp was not written to configs since the
beginning of git history.

> +    $sockets = $conf->{sockets} if $conf->{sockets};
> +    my $hotplug_features = PVE::QemuServer::parse_hotplug_features(defined($conf->{hotplug}) ? $conf->{hotplug} : '1');
> +
> +    my $static_memory = 0;
> +    my $memory = PVE::QemuServer::parse_memory($conf->{memory});
> +
> +    if($memory->{max}) {

Style nit: missing space after if

> +	my $dimm_size = $memory->{max} / 64;
> +	#static mem can't be lower than 4G and lower than 1 dimmsize by socket
> +	$static_memory = $dimm_size * $sockets;
> +	$static_memory = 4096 if $static_memory < 4096;
> +    } elsif ($hotplug_features->{memory}) {
> +	#legacy
> +	$static_memory = 1024;
> +	$static_memory = $static_memory * $sockets if ($conf->{hugepages} && $conf->{hugepages} == 1024);
> +    } else {
> +       $static_memory = $memory->{current};

Style nit: wrong indentation





More information about the pve-devel mailing list