lkml.org 
[lkml]   [2017]   [Oct]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] fs, mm: account filp and names caches to kmemcg
    On Thu 05-10-17 15:21:44, Shakeel Butt wrote:
    > The allocations from filp and names kmem caches can be directly
    > triggered by user space applications. A buggy application can
    > consume a significant amount of unaccounted system memory. Though
    > we have not noticed such buggy applications in our production
    > but upon close inspection, we found that a lot of machines spend
    > very significant amount of memory on these caches. So, these
    > caches should be accounted to kmemcg.
    >
    > Signed-off-by: Shakeel Butt <shakeelb@google.com>
    > ---
    > fs/dcache.c | 2 +-
    > fs/file_table.c | 2 +-
    > 2 files changed, 2 insertions(+), 2 deletions(-)
    >
    > diff --git a/fs/dcache.c b/fs/dcache.c
    > index f90141387f01..fb3449161063 100644
    > --- a/fs/dcache.c
    > +++ b/fs/dcache.c
    > @@ -3642,7 +3642,7 @@ void __init vfs_caches_init_early(void)
    > void __init vfs_caches_init(void)
    > {
    > 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?

    >
    > dcache_init();
    > inode_init();
    > diff --git a/fs/file_table.c b/fs/file_table.c
    > index 61517f57f8ef..567888cdf7d3 100644
    > --- a/fs/file_table.c
    > +++ b/fs/file_table.c
    > @@ -312,7 +312,7 @@ void put_filp(struct file *file)
    > void __init files_init(void)
    > {
    > 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?

    --
    Michal Hocko
    SUSE Labs

    \
     
     \ /
      Last update: 2017-10-06 10:00    [W:4.107 / U:0.164 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site