On 04/11/2019 10:37 AM, Kirill Tkhai wrote: > On 10.04.2019 22:13, Waiman Long wrote: >> The current control mechanism for memory cgroup v2 lumps all the memory >> together irrespective of the type of memory objects. However, there >> are cases where users may have more concern about one type of memory >> usage than the others. >> >> We have customer request to limit memory consumption on anonymous memory >> only as they said the feature was available in other OSes like Solaris. >> >> To allow finer-grained control of memory, this patchset 2 new control >> knobs for memory controller: >> - memory.subset.list for specifying the type of memory to be under control. >> - memory.subset.high for the high limit of memory consumption of that >> memory type. >> >> For simplicity, the limit is not hierarchical and applies to only tasks >> in the local memory cgroup. >> >> Waiman Long (2): >> mm/memcontrol: Finer-grained control for subset of allocated memory >> mm/memcontrol: Add a new MEMCG_SUBSET_HIGH event >> >> Documentation/admin-guide/cgroup-v2.rst | 35 +++++++++ >> include/linux/memcontrol.h | 8 ++ >> mm/memcontrol.c | 100 +++++++++++++++++++++++- >> 3 files changed, 142 insertions(+), 1 deletion(-) > CC Andrey. > > In Virtuozzo kernel we have similar functionality for limitation of page cache in a cgroup: > > https://github.com/OpenVZ/vzkernel/commit/8ceef5e0c07c7621fcb0e04ccc48a679dfeec4a4 It will be helpful to know the use case where you want to limit page cache usage. I have anonymous memory in mind when I compose this patch, but I make the mechanism more generic so that it can apply to other use cases as well. Cheers, Longman