• Muchun Song's avatar
    mm: introduce kmem_cache_alloc_lru · 88f2ef73
    Muchun Song authored
    We currently allocate scope for every memcg to be able to tracked on
    every superblock instantiated in the system, regardless of whether that
    superblock is even accessible to that memcg.
    
    These huge memcg counts come from container hosts where memcgs are
    confined to just a small subset of the total number of superblocks that
    instantiated at any given point in time.
    
    For these systems with huge container counts, list_lru does not need the
    capability of tracking every memcg on every superblock.  What it comes
    down to is that adding the memcg to the list_lru at the first insert.
    So introduce kmem_cache_alloc_lru to allocate objects and its list_lru.
    In the later patch, we will convert all inode and dentry allocation from
    kmem_cache_alloc to kmem_cache_alloc_lru.
    
    Link: https://lkml.kernel.org/r/20220228122126.37293-3-songmuchun@bytedance.comSigned-off-by: default avatarMuchun Song <songmuchun@bytedance.com>
    Cc: Alex Shi <alexs@kernel.org>
    Cc: Anna Schumaker <Anna.Schumaker@Netapp.com>
    Cc: Chao Yu <chao@kernel.org>
    Cc: Dave Chinner <david@fromorbit.com>
    Cc: Fam Zheng <fam.zheng@bytedance.com>
    Cc: Jaegeuk Kim <jaegeuk@kernel.org>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Kari Argillander <kari.argillander@gmail.com>
    Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
    Cc: Michal Hocko <mhocko@kernel.org>
    Cc: Qi Zheng <zhengqi.arch@bytedance.com>
    Cc: Roman Gushchin <roman.gushchin@linux.dev>
    Cc: Shakeel Butt <shakeelb@google.com>
    Cc: Theodore Ts'o <tytso@mit.edu>
    Cc: Trond Myklebust <trond.myklebust@hammerspace.com>
    Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Wei Yang <richard.weiyang@gmail.com>
    Cc: Xiongchun Duan <duanxiongchun@bytedance.com>
    Cc: Yang Shi <shy828301@gmail.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    88f2ef73
memcontrol.c 193 KB