Re: [PATCH 2/3] memcg: Limit the number of events registered on oom_control
From: Michal Hocko <hidden>
Date: 2013-08-07 13:37:50
Also in:
linux-mm, lkml
On Wed 07-08-13 09:08:36, Tejun Heo wrote:
Hello, Michal. On Wed, Aug 07, 2013 at 01:28:26PM +0200, Michal Hocko wrote:quoted
There is no limit for the maximum number of oom_control events registered per memcg. This might lead to an user triggered memory depletion if a regular user is allowed to register events. Let's be more strict and cap the number of events that might be registered. MAX_OOM_NOTIFY_EVENTS value is more or less random. The expectation is that it should be high enough to cover reasonable usecases while not too high to allow excessive resources consumption. 1024 events consume something like 24KB which shouldn't be a big deal and it should be good enough (even 1024 oom notification events sounds crazy).I think putting restriction on usage_event makes sense as that builds a shared contiguous table from all events which can't be attributed correctly and makes it easy to trigger allocation failures due to large order allocation but is this necessary for oom and vmpressure, both of which allocate only for the listening task?
Once I was there I made them consistent in that regards.
It isn't different from listening from epoll, for example.
epoll limits the number of watchers, no?
If there needs to be kernel memory limit, shouldn't that be handled by kmemcg?
kmemcg would surely help but turning it on just because of potential abuse of the event registration API sounds like an overkill. I think having a cap for user trigable kernel resources is a good thing in general. -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>