X-Git-Url: https://git.proxmox.com/?p=pve-common.git;a=blobdiff_plain;f=src%2FPVE%2FCpuSet.pm;h=753b3cdec4cac5edc64a251ef9f464593cb034bb;hp=4004bb3bab1a620f137068f279e03982447bf77e;hb=ae97d5532d5a8a6754a940451c0b3bfa4bcd7f30;hpb=beb9820ffb8fe3154573c88d3066be6ab4d5c0a3 diff --git a/src/PVE/CpuSet.pm b/src/PVE/CpuSet.pm index 4004bb3..753b3cd 100644 --- a/src/PVE/CpuSet.pm +++ b/src/PVE/CpuSet.pm @@ -3,8 +3,20 @@ package PVE::CpuSet; use strict; use warnings; use PVE::Tools; +use PVE::ProcFSTools; -our $MAX_CPUID = 256; # should be enough for the next years +my $MAX_CPUID; + +sub max_cpuid { + + return $MAX_CPUID if defined($MAX_CPUID); + + my $cpuinfo = PVE::ProcFSTools::read_cpuinfo(); + + $MAX_CPUID = $cpuinfo->{cpus} || 1; + + return $MAX_CPUID; +} sub new { my ($this) = @_; @@ -12,7 +24,9 @@ sub new { my $class = ref($this) || $this; my $self = bless { members => {} }, $class; - + + max_cpuid() if !defined($MAX_CPUID); # initialize $MAX_CPUID + return $self; }