[SRU][N][PATCH 0/1] UBUNTU: SAUCE: Fix cpuset behavior to v1 following the changes from upstream stable patches.
Mehmet Basaran
mehmet.basaran at canonical.com
Fri Dec 19 08:58:40 UTC 2025
BugLink: https://bugs.launchpad.net/bugs/2128722
SRU Justification:
[Impact]
For noble , some of the applied upstream commits are using "CONFIG_CPUSETS_V1"
to enable/disable some code paths. This changes the behaviour of cpusets and
currently noble is neither V1 nor V2. Because of this, "cpuset_inherit" and
"cpuset_hotplug" test cases are failing in ubuntu_ltp_controllers test suite.
For noble, since this is an LTS release we should continue behave like V1.
cpuset_inherit 37 TFAIL: memory_migrate: Test result - 1 Expected string - "0"
cpuset_inherit 39 TFAIL: memory_migrate: Test result - 1 Expected string - "0"
cpuset_inherit 49 TFAIL: sched_load_balance: Test result - 0 Expected string - "1"
cpuset_hotplug 1 TINFO: CPUs are numbered continuously starting at 0 (0-1)
cpuset_hotplug 1 TINFO: Nodes are numbered continuously starting at 0 (0)
cpuset_hotplug 1 TFAIL: root group's cpus isn't expected(Result: 0-1, Expect: 0).
cpuset_hotplug 5 TFAIL: general group's cpus isn't expected(Result: 0-1, Expect: 0).
cpuset_hotplug 7 TFAIL: test task was still in general group, but its cpus is NULL
cpuset_hotplug 11 TFAIL: task's cpu present list isn't expected(Result: 0-1, Expect: 0).
[Fix]
For noble, we have to use v1 because there is no support for v2. Added
"CONFIG_CPUSETS_V1" kernel config option. This was added to upstream via
the following commit:
[ Upstream commit 1abab1ba0775036bb67c6c57945c637be644c04f ]
cgroup/cpuset: guard cpuset-v1 code under CONFIG_CPUSETS_V1
I have chosen to go with a SAUCE patch since, the commit above depends on
other commits. And in the future, we can revert this one and apply the
dependent commits if we want to follow cpusets follow from 6.12 versions so
that there are less conflicts between upstream stable and noble sources.
The other solution is to remove the use of "CONFIG_CPUSETS_V1" macro from
sources. However this will also cause noble and upstream stable sources to
diverge and make it difficult to backport patches.
[Test Plan]
Rerun cpuset_* tests in ubuntu_ltp_controllers test suite. All passed.
[Where problems could occur]
cpusets can behave like neither v1 nor v2 which can lead to incorrect
allocation of scheduling domains for cgroups.
As long as cpuset code paths are separated correctly for v1 and v2 in the
upstream stable branches, backported commits should work as well. So,
essentially, this is a safe fix.
Mehmet Basaran (1):
UBUNTU: SAUCE: Enable upstream config option "CONFIG_CPUSETS_V1"
debian.master/config/annotations | 1 +
init/Kconfig | 13 +++++++++++++
2 files changed, 14 insertions(+)
--
2.43.0
More information about the kernel-team
mailing list