mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-31 16:38:12 +00:00
mm/memcg: set memcg after css verified and got reference
Patch series "mm/memcg: some cleanup for mem_cgroup_iter()", v2. No functional change, try to make it more readable. This patch (of 3): Instead of resetting memcg when css is either not verified or not got reference, we can set it after these process. No functional change, just simplified the code a little. Link: https://lkml.kernel.org/r/20220330234719.18340-1-richard.weiyang@gmail.com Link: https://lkml.kernel.org/r/20220330234719.18340-2-richard.weiyang@gmail.com Signed-off-by: Wei Yang <richard.weiyang@gmail.com> Acked-by: Johannes Weiner <hannes@cmpxchg.org> Reviewed-by: Roman Gushchin <roman.gushchin@linux.dev> Cc: Michal Hocko <mhocko@suse.com> Cc: Shakeel Butt <shakeelb@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
391e0efc15
commit
41555dadbf
1 changed files with 3 additions and 8 deletions
|
@ -1065,15 +1065,10 @@ struct mem_cgroup *mem_cgroup_iter(struct mem_cgroup *root,
|
|||
* is provided by the caller, so we know it's alive
|
||||
* and kicking, and don't take an extra reference.
|
||||
*/
|
||||
memcg = mem_cgroup_from_css(css);
|
||||
|
||||
if (css == &root->css)
|
||||
if (css == &root->css || css_tryget(css)) {
|
||||
memcg = mem_cgroup_from_css(css);
|
||||
break;
|
||||
|
||||
if (css_tryget(css))
|
||||
break;
|
||||
|
||||
memcg = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
if (reclaim) {
|
||||
|
|
Loading…
Reference in a new issue