cpuset: replace 'kind' with an 'effective' boolean
authorWolfgang Bumiller <w.bumiller@proxmox.com>
Mon, 30 Mar 2020 14:30:33 +0000 (16:30 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Tue, 31 Mar 2020 06:50:10 +0000 (08:50 +0200)
All of our users of this function currently either pass
'effective_cpus' or nothing (undef), and in cgroupv2 the
effective-cpuset file uses a different naming scheme.

Since this is only a distinction between "intended" and
"effective", use this as a boolean instead, for easier
future cgroupv2 support.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
src/PVE/CpuSet.pm

index aab2c9a7f454197f47ab59f79a064241a0d17e48..fe36536badc8bdb50fdcf97a4e67ab0892da2a4d 100644 (file)
@@ -14,10 +14,11 @@ sub new {
     return $self;
 }
 
+# Create a new set with the contents of a cgroup-v1 subdirectory
 sub new_from_cgroup {
-    my ($class, $cgroup, $kind) = @_;
+    my ($class, $cgroup, $effective) = @_;
 
-    $kind //= 'cpus';
+    my $kind = $effective ? 'effective_cpus' : 'cpus';
 
     my $filename = "/sys/fs/cgroup/cpuset/$cgroup/cpuset.$kind";
     my $set_text = PVE::Tools::file_read_firstline($filename) // '';