cgroups v2: io.latency não existe

cgroups v2: io.latency não existe

Quando crio um cgroup usando sudo mkdir /sys/fs/cgroup/my-cgroup, io.latencyele não é criado. Outros arquivos io são criados, como io.max, io.stat, io.pressure... O conteúdo de cgroup.subtree_controlcontains io.

Quando tento criar o arquivo sozinho, mesmo com o sudo, não funciona (permissão negada).

Você sabe o que há de errado? Há algo mais para ativar? Desde já, obrigado.

Distribuição Linux: Pop OS 22.04
Versão do kernel: 6.8.0

Responder1

Há algo mais para ativar?

Quando um recurso documentado não pode ser encontrado com o kernel em execução, às vezes é simplesmente porque ele não possui o recurso. Ou porque é muito antigo ou neste caso porque não estava habilitado quando foi construído:

CONFIG_BLK_CGROUP_IOLATENCY: Habilita suporte para proteção cgroup IO baseada em latência

[...]

Habilitar esta opção habilita a interface .latency para otimização de E/S. O controlador de IO tentará manter as latências médias de IO abaixo da meta de latência configurada, estrangulando qualquer pessoa com uma meta de latência mais alta do que o grupo vitimado.

Observe que esta é uma interface experimental e pode ser alterada algum dia.

Como visto (apenas a partir de hoje...) no /usr/lib/linux/6.8.0-76060800daily20240311-generic/configpacotelinux-buildinfo-6.8.0-76060800daily20240311-generic_6.8.0-76060800daily20240311.202403110203~1713206908~22.04~3a62479_amd64.deb, ou se você executar:

grep CONFIG_BLK_CGROUP_IOLATENCY /boot/config-*

haverá como resultado # CONFIG_BLK_CGROUP_IOLATENCY is not set.

Pop!_OS (assim como seus upstreams Ubuntu ou Debian) não habilita esta opção (talvez porque esteja atualmente documentado como interface experimental em sua descrição?).

Se precisar, você terá que encontrar um kernel, ou então construir um kernel, com esta opção habilitada.

informação relacionada