Re: BUG in LTS 5.15.x cpusets with tasks launched by newer systemd

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

 




On 3/20/25 6:07 AM, James Thomas wrote:
Hello all,

I encountered an issue with the CPU affinity of tasks launched by systemd in a
slice, after updating from systemd 254 to by systemd >= 256, on the LTS 5.15.x
branch (tested on v5.15.179).

Despite the slice file stipulating AllowedCPUS=2 (and confirming this was set in
/sys/fs/cgroup/test.slice/cpuset.cpus) tasks launched in the slice would have
the CPU affinity of the system.slice (i.e all by default) rather than 2.

To reproduce:

* Check kernel version and systemd version (I used a debian testing image for
testing)

```
# uname -r
5.15.179
# systemctl --version
systemd 257 (257.4-3)
...
```

* Create a test.slice with AllowedCPUS=2

```
# cat <<EOF > /usr/lib/systemd/system/test.slice
[Unit]
Description=Test slice
Before=slices.target
[Slice]
AllowedCPUs=2
[Install]
WantedBy=slices.target
EOF
# systemctl daemon-reload && systemctl start test.slice
```

* Confirm cpuset

```
# cat /sys/fs/cgroup/test.slice/cpuset.cpus
2
```

* Launch task in slice

```
# systemd-run --slice test.slice yes
Running as unit: run-r9187b97c6958498aad5bba213289ac56.service; invocation ID:
f470f74047ac43b7a60861d03a7ef6f9
# cat
/sys/fs/cgroup/test.slice/run-r9187b97c6958498aad5bba213289ac56.service/cgroup.procs

317
```

# Check affinity

```
# taskset -pc 317
pid 317's current affinity list: 0-7
```

This issue is fixed by applying upstream commits:

18f9a4d47527772515ad6cbdac796422566e6440
cgroup/cpuset: Skip spread flags update on v2
and
42a11bf5c5436e91b040aeb04063be1710bb9f9c
cgroup/cpuset: Make cpuset_fork() handle CLONE_INTO_CGROUP properly

With these applied:

```
# systemd-run --slice test.slice yes
Running as unit: run-r442c444559ff49f48c6c2b8325b3b500.service; invocation ID:
5211167267154e9292cb6b854585cb91
# cat /sys/fs/cgroup/test.slice/run-r442c444559ff49f48c6c2b8325b3b500.service
291
# taskset -pc 291
pid 291's current affinity list: 2
```

Perhaps these are a good candidate for backport onto the 5.15 LTS branch?

Thanks
James

You should also send this email to stable@xxxxxxxxxxxxxxx for consideration into the 5.15 LTS branch.

Cheers,
Longman






[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux