diff --git a/changelog/changes/2024-03-19-multipath.md b/changelog/changes/2024-03-19-multipath.md new file mode 100644 index 0000000000..1f01cd6e2d --- /dev/null +++ b/changelog/changes/2024-03-19-multipath.md @@ -0,0 +1 @@ +- Disabled real-time priority for multipathd as it prevents the cgroups2 cpu controller from working. ([flatcar/scripts#1771](https://github.com/flatcar/scripts/pull/1771)) diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-fs/multipath-tools b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-fs/multipath-tools new file mode 100644 index 0000000000..5b835efaa3 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-fs/multipath-tools @@ -0,0 +1,13 @@ +cros_post_src_install_add_dropin() { + mkdir -p "${D}$(systemd_get_systemunitdir)/multipathd.service.d" + cat <"${D}$(systemd_get_systemunitdir)/multipathd.service.d/flatcar.conf" +[Service] +# Multipathd sets itself to sched_rr with highest priority. +# Cgroups2 doesn't support realtime processes outside the root cgroup, +# if any such process exists then cpu controller can't be enabled. +# This poses a bit of a dilemma. +# Block realtime control for the process, but give it highest non-rt priority. +RestrictRealtime=yes +Nice=-20 +EOF +}