On Fri 06-10-17 09:58:30, Anshuman Khandual wrote: > On 10/06/2017 06:37 AM, Shakeel Butt wrote: > > The kvm slabs can consume a significant amount of system memory > > and indeed in our production environment we have observed that > > a lot of machines are spending significant amount of memory that > > can not be left as system memory overhead. Also the allocations > > from these slabs can be triggered directly by user space applications > > which has access to kvm and thus a buggy application can leak > > such memory. So, these caches should be accounted to kmemcg. > > But there may be other situations like this where user space can > trigger allocation from various SLAB objects inside the kernel > which are accounted as system memory. So how we draw the line > which ones should be accounted for memcg. Just being curious. The thing is that we used to have an opt-out approach for kmem accounting but we decided to go opt-in in a9bb7e620efd ("memcg: only account kmem allocations marked as __GFP_ACCOUNT"). Since then we are adding the flag to caches/allocations which can go wild and consume a lot of or even unbounded amount of memory. -- Michal Hocko SUSE Labs