[PATCH 1/1] UBUNTU: SAUCE: Enable upstream config option "CONFIG_CPUSETS_V1"
Mehmet Basaran
mehmet.basaran at canonical.com
Thu Dec 18 08:51:33 UTC 2025
BugLink: https://bugs.launchpad.net/bugs/2128722
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.
Added "CONFIG_CPUSETS_V1" kernel config option. This was added to upstream
via the following commit:
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.
Signed-off-by: Mehmet Basaran <mehmet.basaran at canonical.com>
---
debian.master/config/annotations | 1 +
init/Kconfig | 13 +++++++++++++
2 files changed, 14 insertions(+)
diff --git a/debian.master/config/annotations b/debian.master/config/annotations
index 9ebb2a92ba55..3f3150b3aa99 100644
--- a/debian.master/config/annotations
+++ b/debian.master/config/annotations
@@ -3293,6 +3293,7 @@ CONFIG_CPU5_WDT policy<{'amd64': 'm'}>
CONFIG_CPUFREQ_DT_PLATDEV policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}>
CONFIG_CPUMASK_OFFSTACK policy<{'amd64': 'y'}>
CONFIG_CPUSETS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}>
+CONFIG_CPUSETS_V1 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}>
CONFIG_CPU_32v6K policy<{'armhf': 'y'}>
CONFIG_CPU_32v7 policy<{'armhf': 'y'}>
CONFIG_CPU_ABRT_EV7 policy<{'armhf': 'y'}>
diff --git a/init/Kconfig b/init/Kconfig
index 426c2464f653..3b728ed594cc 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1143,6 +1143,19 @@ config CPUSETS
Say N if unsure.
+config CPUSETS_V1
+ bool "Legacy cgroup v1 cpusets controller"
+ depends on CPUSETS
+ default n
+ help
+ Legacy cgroup v1 cpusets controller which has been deprecated by
+ cgroup v2 implementation. The v1 is there for legacy applications
+ which haven't migrated to the new cgroup v2 interface yet. If you
+ do not have any such application then you are completely fine leaving
+ this option disabled.
+
+ Say N if unsure.
+
config PROC_PID_CPUSET
bool "Include legacy /proc/<pid>/cpuset file"
depends on CPUSETS
--
2.43.0
More information about the kernel-team
mailing list