[Devel] [PATCH RHEL7 COMMIT] ms/mm/list_lru.c: pass lru argument to memcg_drain_list_lru_node()
Konstantin Khorenko
khorenko at virtuozzo.com
Wed Sep 5 12:37:12 MSK 2018
The commit is pushed to "branch-rh7-3.10.0-862.11.6.vz7.71.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-862.11.6.vz7.71.8
------>
commit 031c558696965f56e2f0304d37c30d72870e0e5c
Author: Kirill Tkhai <ktkhai at virtuozzo.com>
Date: Wed Sep 5 12:37:12 2018 +0300
ms/mm/list_lru.c: pass lru argument to memcg_drain_list_lru_node()
ms commit 3b82c4dcc2f0
This is just refactoring to allow next patches to have lru pointer in
memcg_drain_list_lru_node().
Link: http://lkml.kernel.org/r/153063063164.1818.55009531386089350.stgit@localhost.localdomain
Signed-off-by: Kirill Tkhai <ktkhai at virtuozzo.com>
Acked-by: Vladimir Davydov <vdavydov.dev at gmail.com>
Tested-by: Shakeel Butt <shakeelb at google.com>
Cc: Al Viro <viro at zeniv.linux.org.uk>
Cc: Andrey Ryabinin <aryabinin at virtuozzo.com>
Cc: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
Cc: Guenter Roeck <linux at roeck-us.net>
Cc: "Huang, Ying" <ying.huang at intel.com>
Cc: Johannes Weiner <hannes at cmpxchg.org>
Cc: Josef Bacik <jbacik at fb.com>
Cc: Li RongQing <lirongqing at baidu.com>
Cc: Matthew Wilcox <willy at infradead.org>
Cc: Matthias Kaehlcke <mka at chromium.org>
Cc: Mel Gorman <mgorman at techsingularity.net>
Cc: Michal Hocko <mhocko at kernel.org>
Cc: Minchan Kim <minchan at kernel.org>
Cc: Philippe Ombredanne <pombredanne at nexb.com>
Cc: Roman Gushchin <guro at fb.com>
Cc: Sahitya Tummala <stummala at codeaurora.org>
Cc: Stephen Rothwell <sfr at canb.auug.org.au>
Cc: Tetsuo Handa <penguin-kernel at I-love.SAKURA.ne.jp>
Cc: Thomas Gleixner <tglx at linutronix.de>
Cc: Waiman Long <longman at redhat.com>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
Signed-off-by: Kirill Tkhai <ktkhai at virtuozzo.com>
=====================
Patchset description:
Port "Improve shrink_slab() scalability" patchset
https://jira.sw.ru/browse/PSBM-88027
This is backport of the patchset improving the performance
of overcommited containers with many memcgs and mounts.
The original set is in Linus' tree, and came into 4.19-rc1.
Kirill Tkhai (12):
mm: assign id to every memcg-aware shrinker
mm/memcontrol.c: move up for_each_mem_cgroup{, _tree} defines
mm, memcg: assign memcg-aware shrinkers bitmap to memcg
fs: propagate shrinker::id to list_lru
mm/list_lru.c: add memcg argument to list_lru_from_kmem()
mm/list_lru: pass dst_memcg argument to memcg_drain_list_lru_node()
mm/list_lru.c: pass lru argument to memcg_drain_list_lru_node()
mm/list_lru.c: set bit in memcg shrinker bitmap on first list_lru item appearance
mm/memcontrol.c: export mem_cgroup_is_root()
mm/vmscan.c: iterate only over charged shrinkers during memcg shrink_slab()
mm: add SHRINK_EMPTY shrinker methods return value
mm/vmscan.c: clear shrinker bit if there are no objects related to memcg
Vladimir Davydov (1):
mm/vmscan.c: generalize shrink_slab() calls in shrink_node()
---
mm/list_lru.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/mm/list_lru.c b/mm/list_lru.c
index b48e1d2bea0c..aca7dd7da162 100644
--- a/mm/list_lru.c
+++ b/mm/list_lru.c
@@ -490,9 +490,10 @@ int memcg_update_all_list_lrus(int new_size)
goto out;
}
-static void memcg_drain_list_lru_node(struct list_lru_node *nlru,
+static void memcg_drain_list_lru_node(struct list_lru *lru, int nid,
int src_idx, struct mem_cgroup *dst_memcg)
{
+ struct list_lru_node *nlru = &lru->node[nid];
int dst_idx = memcg_cache_id(dst_memcg);
struct list_lru_one *src, *dst;
@@ -521,7 +522,7 @@ static void memcg_drain_list_lru(struct list_lru *lru,
return;
for (i = 0; i < nr_node_ids; i++)
- memcg_drain_list_lru_node(&lru->node[i], src_idx, dst_memcg);
+ memcg_drain_list_lru_node(lru, i, src_idx, dst_memcg);
}
void memcg_drain_all_list_lrus(int src_idx, struct mem_cgroup *dst_memcg)
More information about the Devel
mailing list