On Thu 25-10-18 01:01:44, Edgecombe, Rick P wrote: [...] > FWIW, cgroups seems like a better solution than rlimit to me too. Maybe you all > already know, but it looks like the cgroups vmalloc charge is done in the main > page allocator and counts against the whole kernel memory limit. I am not sure I understand what you are saying but let me clarify that vmalloc memory is accounted against memory cgroup associated with the user context calling vmalloc. All you need to do is to add __GFP_ACCOUNT to the gfp mask. The only challenge here is the charged memory life cycle. When does it get deallocated? In the worst case the memory is not tight to any user context and as such it doesn't get deallocated by killing all processes which could lead to memcg limit exhaustion. > A user may want > to have a higher kernel limit than the module space size, so it seems it isn't > enough by itself and some new limit would need to be added. If there is another restriction on this memory then you are right. -- Michal Hocko SUSE Labs