]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
mm: memcontrol: use CSS_TASK_ITER_PROCS at mem_cgroup_scan_tasks()
authorTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Fri, 12 Jul 2019 04:00:20 +0000 (21:00 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 12 Jul 2019 18:05:47 +0000 (11:05 -0700)
Since commit c03cd7738a83 ("cgroup: Include dying leaders with live
threads in PROCS iterations") corrected how CSS_TASK_ITER_PROCS works,
mem_cgroup_scan_tasks() can use CSS_TASK_ITER_PROCS in order to check
only one thread from each thread group.

[penguin-kernel@I-love.SAKURA.ne.jp: remove thread group leader check in oom_evaluate_task()]
Link: http://lkml.kernel.org/r/1560853257-14934-1-git-send-email-penguin-kernel@I-love.SAKURA.ne.jp
Link: http://lkml.kernel.org/r/c763afc8-f0ae-756a-56a7-395f625b95fc@i-love.sakura.ne.jp
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Acked-by: Michal Hocko <mhocko@suse.com>
Reviewed-by: Shakeel Butt <shakeelb@google.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Tejun Heo <tj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/memcontrol.c
mm/oom_kill.c

index 2cb7e4e5c51a23da60d61a5c3056835dc721d91f..773ae5674e127149f51c624d86448c285c1413c7 100644 (file)
@@ -1167,7 +1167,7 @@ int mem_cgroup_scan_tasks(struct mem_cgroup *memcg,
                struct css_task_iter it;
                struct task_struct *task;
 
-               css_task_iter_start(&iter->css, 0, &it);
+               css_task_iter_start(&iter->css, CSS_TASK_ITER_PROCS, &it);
                while (!ret && (task = css_task_iter_next(&it)))
                        ret = fn(task, arg);
                css_task_iter_end(&it);
index f719b64741d63419f42a2513599fff55c1148130..606e5e4c6a3e002ab00fe858bb9c313a765d05ab 100644 (file)
@@ -346,9 +346,6 @@ static int oom_evaluate_task(struct task_struct *task, void *arg)
        if (!points || points < oc->chosen_points)
                goto next;
 
-       /* Prefer thread group leaders for display purposes */
-       if (points == oc->chosen_points && thread_group_leader(oc->chosen))
-               goto next;
 select:
        if (oc->chosen)
                put_task_struct(oc->chosen);