On Thu, 24 May 2018 13:10:02 +0200 Michal Hocko <[email protected]> wrote:

> I would really prefer and appreciate a repost with all the fixes folded
> in.

[2/2]

From: Andrew Morton <[email protected]>
Subject: mm/memcontrol.c: add mem_cgroup_from_task() as a local helper

Factor out some commonly-occurring code.

Cc: "Eric W. Biederman" <[email protected]>
Cc: Johannes Weiner <[email protected]>
Cc: "Kirill A. Shutemov" <[email protected]>
Cc: Kirill Tkhai <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: Tejun Heo <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
---

 mm/memcontrol.c |   11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff -puN 
mm/memcontrol.c~mm-memcontrolc-add-mem_cgroup_from_task-as-a-local-helper 
mm/memcontrol.c
--- a/mm/memcontrol.c~mm-memcontrolc-add-mem_cgroup_from_task-as-a-local-helper
+++ a/mm/memcontrol.c
@@ -664,6 +664,11 @@ static void memcg_check_events(struct me
        }
 }
 
+static inline struct mem_cgroup *mem_cgroup_from_task(struct task_struct *p)
+{
+       return mem_cgroup_from_css(task_css(p, memory_cgrp_id));
+}
+
 struct mem_cgroup *get_mem_cgroup_from_mm(struct mm_struct *mm)
 {
        struct mem_cgroup *memcg = NULL;
@@ -1011,7 +1016,7 @@ bool task_in_mem_cgroup(struct task_stru
                 * killed to prevent needlessly killing additional tasks.
                 */
                rcu_read_lock();
-               task_memcg = mem_cgroup_from_css(task_css(task, 
memory_cgrp_id));
+               task_memcg = mem_cgroup_from_task(task);
                css_get(&task_memcg->css);
                rcu_read_unlock();
        }
@@ -4836,7 +4841,7 @@ static int mem_cgroup_can_attach(struct
        if (!move_flags)
                return 0;
 
-       from = mem_cgroup_from_css(task_css(p, memory_cgrp_id));
+       from = mem_cgroup_from_task(p);
 
        VM_BUG_ON(from == memcg);
 
@@ -5887,7 +5892,7 @@ void mem_cgroup_sk_alloc(struct sock *sk
        }
 
        rcu_read_lock();
-       memcg = mem_cgroup_from_css(task_css(current, memory_cgrp_id));
+       memcg = mem_cgroup_from_task(current);
        if (memcg == root_mem_cgroup)
                goto out;
        if (!cgroup_subsys_on_dfl(memory_cgrp_subsys) && !memcg->tcpmem_active)
_

Reply via email to