mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 11:41:38 -04:00
mm: introduce CONFIG_MEMCG_KMEM as combination of CONFIG_MEMCG && !CONFIG_SLOB
Introduce new config option, which is used to replace repeating CONFIG_MEMCG && !CONFIG_SLOB pattern. Next patches add a little more memcg+kmem related code, so let's keep the defines more clearly. Link: http://lkml.kernel.org/r/153063053670.1818.15013136946600481138.stgit@localhost.localdomain Signed-off-by: Kirill Tkhai <[email protected]> Acked-by: Vladimir Davydov <[email protected]> Tested-by: Shakeel Butt <[email protected]> Cc: Al Viro <[email protected]> Cc: Andrey Ryabinin <[email protected]> Cc: Chris Wilson <[email protected]> Cc: Greg Kroah-Hartman <[email protected]> Cc: Guenter Roeck <[email protected]> Cc: "Huang, Ying" <[email protected]> Cc: Johannes Weiner <[email protected]> Cc: Josef Bacik <[email protected]> Cc: Li RongQing <[email protected]> Cc: Matthew Wilcox <[email protected]> Cc: Matthias Kaehlcke <[email protected]> Cc: Mel Gorman <[email protected]> Cc: Michal Hocko <[email protected]> Cc: Minchan Kim <[email protected]> Cc: Philippe Ombredanne <[email protected]> Cc: Roman Gushchin <[email protected]> Cc: Sahitya Tummala <[email protected]> Cc: Stephen Rothwell <[email protected]> Cc: Tetsuo Handa <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Waiman Long <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
e0295238e5
commit
84c07d11aa
9 changed files with 31 additions and 26 deletions
|
|
@ -251,7 +251,7 @@ static inline bool mem_cgroup_is_root(struct mem_cgroup *memcg)
|
|||
return (memcg == root_mem_cgroup);
|
||||
}
|
||||
|
||||
#ifndef CONFIG_SLOB
|
||||
#ifdef CONFIG_MEMCG_KMEM
|
||||
/*
|
||||
* This will be the memcg's index in each cache's ->memcg_params.memcg_caches.
|
||||
* The main reason for not using cgroup id for this:
|
||||
|
|
@ -305,7 +305,7 @@ EXPORT_SYMBOL(memcg_kmem_enabled_key);
|
|||
|
||||
struct workqueue_struct *memcg_kmem_cache_wq;
|
||||
|
||||
#endif /* !CONFIG_SLOB */
|
||||
#endif /* CONFIG_MEMCG_KMEM */
|
||||
|
||||
/**
|
||||
* mem_cgroup_css_from_page - css of the memcg associated with a page
|
||||
|
|
@ -2215,7 +2215,7 @@ static void commit_charge(struct page *page, struct mem_cgroup *memcg,
|
|||
unlock_page_lru(page, isolated);
|
||||
}
|
||||
|
||||
#ifndef CONFIG_SLOB
|
||||
#ifdef CONFIG_MEMCG_KMEM
|
||||
static int memcg_alloc_cache_id(void)
|
||||
{
|
||||
int id, size;
|
||||
|
|
@ -2480,7 +2480,7 @@ void memcg_kmem_uncharge(struct page *page, int order)
|
|||
|
||||
css_put_many(&memcg->css, nr_pages);
|
||||
}
|
||||
#endif /* !CONFIG_SLOB */
|
||||
#endif /* CONFIG_MEMCG_KMEM */
|
||||
|
||||
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
|
||||
|
||||
|
|
@ -2875,7 +2875,7 @@ static u64 mem_cgroup_read_u64(struct cgroup_subsys_state *css,
|
|||
}
|
||||
}
|
||||
|
||||
#ifndef CONFIG_SLOB
|
||||
#ifdef CONFIG_MEMCG_KMEM
|
||||
static int memcg_online_kmem(struct mem_cgroup *memcg)
|
||||
{
|
||||
int memcg_id;
|
||||
|
|
@ -2975,7 +2975,7 @@ static void memcg_offline_kmem(struct mem_cgroup *memcg)
|
|||
static void memcg_free_kmem(struct mem_cgroup *memcg)
|
||||
{
|
||||
}
|
||||
#endif /* !CONFIG_SLOB */
|
||||
#endif /* CONFIG_MEMCG_KMEM */
|
||||
|
||||
static int memcg_update_kmem_max(struct mem_cgroup *memcg,
|
||||
unsigned long max)
|
||||
|
|
@ -4279,7 +4279,7 @@ static struct mem_cgroup *mem_cgroup_alloc(void)
|
|||
INIT_LIST_HEAD(&memcg->event_list);
|
||||
spin_lock_init(&memcg->event_list_lock);
|
||||
memcg->socket_pressure = jiffies;
|
||||
#ifndef CONFIG_SLOB
|
||||
#ifdef CONFIG_MEMCG_KMEM
|
||||
memcg->kmemcg_id = -1;
|
||||
#endif
|
||||
#ifdef CONFIG_CGROUP_WRITEBACK
|
||||
|
|
@ -6119,7 +6119,7 @@ static int __init mem_cgroup_init(void)
|
|||
{
|
||||
int cpu, node;
|
||||
|
||||
#ifndef CONFIG_SLOB
|
||||
#ifdef CONFIG_MEMCG_KMEM
|
||||
/*
|
||||
* Kmem cache creation is mostly done with the slab_mutex held,
|
||||
* so use a workqueue with limited concurrency to avoid stalling
|
||||
|
|
|
|||
Loading…
Reference in a new issue