From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752728AbdJFTdH (ORCPT ); Fri, 6 Oct 2017 15:33:07 -0400 Received: from mail-wm0-f41.google.com ([74.125.82.41]:52237 "EHLO mail-wm0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752303AbdJFTdF (ORCPT ); Fri, 6 Oct 2017 15:33:05 -0400 X-Google-Smtp-Source: AOwi7QBToA/riUZc34tEy2ywKugXg/aPwTR04vlArak726bXPklnT2dhBurUWUWSXrjeci8BGD8WEuzW8b+6jHf4MGI= MIME-Version: 1.0 In-Reply-To: <20171006075900.icqjx5rr7hctn3zd@dhcp22.suse.cz> References: <20171005222144.123797-1-shakeelb@google.com> <20171006075900.icqjx5rr7hctn3zd@dhcp22.suse.cz> From: Shakeel Butt Date: Fri, 6 Oct 2017 12:33:03 -0700 Message-ID: Subject: Re: [PATCH] fs, mm: account filp and names caches to kmemcg To: Michal Hocko Cc: Alexander Viro , Vladimir Davydov , Greg Thelen , Andrew Morton , Linux MM , linux-fsdevel@vger.kernel.org, LKML Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org >> names_cachep = kmem_cache_create("names_cache", PATH_MAX, 0, >> - SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL); >> + SLAB_HWCACHE_ALIGN|SLAB_PANIC|SLAB_ACCOUNT, NULL); > > I might be wrong but isn't name cache only holding temporary objects > used for path resolution which are not stored anywhere? > Even though they're temporary, many containers can together use a significant amount of transient uncharged memory. We've seen machines with 100s of MiBs in names_cache. >> filp_cachep = kmem_cache_create("filp", sizeof(struct file), 0, >> - SLAB_HWCACHE_ALIGN | SLAB_PANIC, NULL); >> + SLAB_HWCACHE_ALIGN | SLAB_PANIC | SLAB_ACCOUNT, NULL); >> percpu_counter_init(&nr_files, 0, GFP_KERNEL); >> } > > Don't we have a limit for the maximum number of open files? > Yes, there is a system limit of maximum number of open files. However this limit is shared between different users on the system and one user can hog this resource. To cater that, we set the maximum limit very high and let the memory limit of each user limit the number of files they can open.