Планы на cgroups

Еще один отчет на LWN по выступлению с "2013 Kernel Summit". Tejun Heo, инженер Red Hat, рассказал о текущей ситуации с cgroups и о планах на будущее.

Нынешняя архитектура будет полностью переработана. Архитектура с множественной иерархичностью, когда процессы и даже отдельные их потоки могут находиться в разных иерархиях контроллеров, причем позволяется одновременно находиться в нескольких контроллерах, уходит. На замену ей идет строгая архитектура с единой иерархией и единым центром управления (сейчас это systemd). В ней процессы не смогут переносить свои потоки в "чужие" ветки управления, вместо этого они смогут управлять потоками в своей локальной ветке управления, правда только по CPU. Пока эта архитектура не доведена до завершения, и есть контроллеры, которые еще не принадлежат к вертикали власти cgroups, но их скоро переделают. Возможно будет некая очередная виртуальная файловая система, cgroupsfs, для управления.

На этом месте начались возражения и замечания. Уже известный вам инженер Red Hat, Peter Zijlstra, выразил свое беспокойство тем, что новая система управления ресурсами по потокам приложения не очень четко обрисована, и там еще много моментов, которые нужно проработать. Известный хулиган и матершинник, Linus Torvalds, был недоволен тем, что управление внутри процесса будет лишь по CPU, в то время, как есть люди, которым интересно управление потоками и по другим ресурсам.

В целом больше возражений не было, и начали обсуждать процесс перехода на новый интерфейс. Linus потребовал, чтоб старый многоиерархичный интерфейс сидел в ядре еще минимум 10 лет, пока не вымрут мамонты. Tejun подозрительно быстро, быстрее, чем стоило бы потратить на обдумывание, согласился. Можно предположить, что он надеется, что 10 лет использовать старый интерфейс никто не будет - даже Google, который изначально возражал против переделки cgroups, теперь сменил свое мнение.

Hugh Dickins, инженер Google, спросил, а что произойдет, если кто-то пришлет патч, расширяющий старую реализацию cgroups. Tejun ответил, что значимость изменения должна быть необычно высокой. Т.е. нет, не примем.