cgroups v2: io.latency не существует

cgroups v2: io.latency не существует

Когда я создаю cgroup с помощью sudo mkdir /sys/fs/cgroup/my-cgroup, io.latencyне создается. Создаются другие файлы io, например io.max, io.stat, io.pressure... Содержимое cgroup.subtree_controlсодержит io.

Когда я пытаюсь создать файл самостоятельно, даже с помощью sudo, это не работает (отказано в доступе).

Знаете, в чем проблема? Что-то еще можно включить? Спасибо заранее.

Дистрибутив Linux: Pop OS 22.04
Версия ядра: 6.8.0

решение1

Нужно ли включить что-то еще?

Когда документированная функция не может быть найдена в работающем ядре, иногда это просто потому, что в нем нет этой функции. Либо потому, что она слишком старая, либо в этом случае потому, что она не была включена при его сборке:

CONFIG_BLK_CGROUP_IOLATENCY: Включить поддержку защиты ввода-вывода cgroup на основе задержки

[...]

Включение этой опции включает интерфейс .latency для регулирования ввода-вывода. Контроллер ввода-вывода будет пытаться поддерживать средние задержки ввода-вывода ниже настроенного целевого значения задержки, регулируя любого, у кого целевое значение задержки выше, чем у пострадавшей группы.

Обратите внимание, что это экспериментальный интерфейс, и он может быть изменен в будущем.

Как видно (только на сегодняшний день...) в /usr/lib/linux/6.8.0-76060800daily20240311-generic/configупаковкеlinux-buildinfo-6.8.0-76060800daily20240311-generic_6.8.0-76060800daily20240311.202403110203~1713206908~22.04~3a62479_amd64.deb, или если бы вы запустили:

grep CONFIG_BLK_CGROUP_IOLATENCY /boot/config-*

будет как результат # CONFIG_BLK_CGROUP_IOLATENCY is not set.

Pop!_OS (так же как и ее вышестоящие версии Ubuntu или Debian) не поддерживает эту опцию (возможно, потому, что в настоящее время она документирована в своем описании как экспериментальный интерфейс?).

Если вам это нужно, вам придется найти ядро ​​или собрать его с включенной этой опцией.

Связанный контент