The patch titled memcg-show-memcg-information-during-oom-fix-fix has been removed from the -mm tree. Its filename was memcg-show-memcg-information-during-oom-fix-fix.patch This patch was dropped because it was folded into memcg-show-memcg-information-during-oom.patch The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: memcg-show-memcg-information-during-oom-fix-fix From: Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx> Fix issues reported with the OOM printing patches. 1. It reduces the static buffers from 2 to 1 2. It fixes comments that incorrectly indicate that the buffer is on stack This patch fails checkpatch.pl, due to split of the printk message. I could not find an easy way to fix it. Signed-off-by: Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx> Cc: Daisuke Nishimura <nishimura@xxxxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: Li Zefan <lizf@xxxxxxxxxxxxxx> Cc: Paul Menage <menage@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/memcontrol.c | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff -puN mm/memcontrol.c~memcg-show-memcg-information-during-oom-fix-fix mm/memcontrol.c --- a/mm/memcontrol.c~memcg-show-memcg-information-during-oom-fix-fix +++ a/mm/memcontrol.c @@ -736,22 +736,23 @@ void mem_cgroup_print_oom_info(struct me struct cgroup *task_cgrp; struct cgroup *mem_cgrp; /* - * Need a buffer on stack, can't rely on allocations. The code relies + * Need a buffer in BSS, can't rely on allocations. The code relies * on the assumption that OOM is serialized for memory controller. * If this assumption is broken, revisit this code. */ - static char task_memcg_name[PATH_MAX]; static char memcg_name[PATH_MAX]; int ret; if (!memcg) return; - mem_cgrp = memcg->css.cgroup; - task_cgrp = mem_cgroup_from_task(p)->css.cgroup; rcu_read_lock(); - ret = cgroup_path(task_cgrp, task_memcg_name, PATH_MAX); + + mem_cgrp = memcg->css.cgroup; + task_cgrp = task_cgroup(p, mem_cgroup_subsys_id); + + ret = cgroup_path(task_cgrp, memcg_name, PATH_MAX); if (ret < 0) { /* * Unfortunately, we are unable to convert to a useful name @@ -760,16 +761,22 @@ void mem_cgroup_print_oom_info(struct me rcu_read_unlock(); goto done; } + rcu_read_unlock(); + + printk(KERN_INFO "Task in %s killed", memcg_name); + + rcu_read_lock(); ret = cgroup_path(mem_cgrp, memcg_name, PATH_MAX); if (ret < 0) { rcu_read_unlock(); goto done; } - rcu_read_unlock(); - printk(KERN_INFO "Task in %s killed as a result of limit of %s\n", - task_memcg_name, memcg_name); + /* + * Continues from above, so we don't need an KERN_ level + */ + printk(" as a result of limit of %s\n", memcg_name); done: printk(KERN_INFO "memory: usage %llukB, limit %llukB, failcnt %llu\n", _ Patches currently in -mm which might be from balbir@xxxxxxxxxxxxxxxxxx are origin.patch memcg-show-memcg-information-during-oom.patch memcg-show-memcg-information-during-oom-fix-fix.patch memcg-show-memcg-information-during-oom-fix-fix-checkpatch-fixes.patch memcg-remove-mem_cgroup_calc_mapped_ratio-take2.patch memcg-remove-mem_cgroup_reclaim_imbalance-remnants.patch memcg-charge-swapcache-to-proper-memcg.patch linux-next.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html