mm: hugetlb controller for cgroups v2
In the effort of supporting cgroups v2 into Kubernetes, I stumped on the lack of the hugetlb controller. When the controller is enabled, it exposes four new files for each hugetlb size on non-root cgroups: - hugetlb.<hugepagesize>.current - hugetlb.<hugepagesize>.max - hugetlb.<hugepagesize>.events - hugetlb.<hugepagesize>.events.local The differences with the legacy hierarchy are in the file names and using the value "max" instead of "-1" to disable a limit. The file .limit_in_bytes is renamed to .max. The file .usage_in_bytes is renamed to .current. .failcnt is not provided as a single file anymore, but its value can be read through the new flat-keyed files .events and .events.local, through the "max" key. Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com> Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
committed by
Tejun Heo
parent
6afa873170
commit
faced7e080
@@ -61,6 +61,8 @@ v1 is available under Documentation/admin-guide/cgroup-v1/.
|
||||
5-6. Device
|
||||
5-7. RDMA
|
||||
5-7-1. RDMA Interface Files
|
||||
5-8. HugeTLB
|
||||
5.8-1. HugeTLB Interface Files
|
||||
5-8. Misc
|
||||
5-8-1. perf_event
|
||||
5-N. Non-normative information
|
||||
@@ -2056,6 +2058,33 @@ RDMA Interface Files
|
||||
mlx4_0 hca_handle=1 hca_object=20
|
||||
ocrdma1 hca_handle=1 hca_object=23
|
||||
|
||||
HugeTLB
|
||||
-------
|
||||
|
||||
The HugeTLB controller allows to limit the HugeTLB usage per control group and
|
||||
enforces the controller limit during page fault.
|
||||
|
||||
HugeTLB Interface Files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
hugetlb.<hugepagesize>.current
|
||||
Show current usage for "hugepagesize" hugetlb. It exists for all
|
||||
the cgroup except root.
|
||||
|
||||
hugetlb.<hugepagesize>.max
|
||||
Set/show the hard limit of "hugepagesize" hugetlb usage.
|
||||
The default value is "max". It exists for all the cgroup except root.
|
||||
|
||||
hugetlb.<hugepagesize>.events
|
||||
A read-only flat-keyed file which exists on non-root cgroups.
|
||||
|
||||
max
|
||||
The number of allocation failure due to HugeTLB limit
|
||||
|
||||
hugetlb.<hugepagesize>.events.local
|
||||
Similar to hugetlb.<hugepagesize>.events but the fields in the file
|
||||
are local to the cgroup i.e. not hierarchical. The file modified event
|
||||
generated on this file reflects only the local events.
|
||||
|
||||
Misc
|
||||
----
|
||||
|
||||
Reference in New Issue
Block a user