What's new in control groups (cgroups) version 2?

Abstract

Control groups (cgroups) version 1 was released in 2008, and within a short time people realized that there were a number of problems that resulted from its uncoordinated design and implementation. Soon afterwards, work began on fixing the problems--work that lasted around 4 years and resulted in the release of cgroups v2 in 2016. Even then, much work remained to be done, with the absence of some important features blocking widespread adoption of cgroups v2. One of the main logjams was finally broken at the beginning of 2018 with the merging of the cgroups v2 CPU controller, and it seems likely that the remaining missing pieces will be added in the next few kernel releases. It seems likely that cgroups v2 will become more widely used in the not too distant future. (One of the notable users of cgroups v1, systemd, is already migrating to cgroups v2.) In this talk, I'll briefly consider some of the problems in cgroups v1 that motivated the cgroups v2 redesign, and then go on to look at the differences and new features in cgroups v2. I'll also look at what pieces are still missing in cgroups v2 and some other possible changes that come to cgroups v2 in the future. Some familiarity with the cgroups mechanism will be assumed.

Presented by

    Michael Kerrisk

    Michael Kerrisk is programmer and trainer and is the author of the acclaimed book, "The Linux Programming Interface" (http://man7.org/tlpi/), a guide and reference for system programming on Linux and UNIX. He contributes to the Linux kernel primarily via documentation, review, and testing of new kernel-user-space interfaces. He has contributed to the Linux man-pages project (http://www.kernel.org/doc/man-pages/) since 2000, and been the project maintainer since 2004. Originally from Christchurch, Michael now lives in Munich, Germany.