Re: [PATCH v12 1/2] Reorganize the oom report in dump_header

From: Michal Hocko
Date: Mon Jul 09 2018 - 07:15:37 EST


On Thu 05-07-18 21:20:28, ufo19890607@xxxxxxxxx wrote:
[...]
> @@ -421,15 +421,20 @@ static void dump_tasks(struct mem_cgroup *memcg, const nodemask_t *nodemask)
>
> static void dump_header(struct oom_control *oc, struct task_struct *p)
> {
> - pr_warn("%s invoked oom-killer: gfp_mask=%#x(%pGg), nodemask=%*pbl, order=%d, oom_score_adj=%hd\n",
> - current->comm, oc->gfp_mask, &oc->gfp_mask,
> - nodemask_pr_args(oc->nodemask), oc->order,
> + pr_warn("%s invoked oom-killer: gfp_mask=%#x(%pGg), order=%d, oom_score_adj=%hd\n",
> + current->comm, oc->gfp_mask, &oc->gfp_mask, oc->order,
> current->signal->oom_score_adj);
> if (!IS_ENABLED(CONFIG_COMPACTION) && oc->order)
> pr_warn("COMPACTION is disabled!!!\n");
>
> - cpuset_print_current_mems_allowed();
> dump_stack();
> +
> + /* one line summary of the oom killer context. */
> + pr_info("oom-kill:constraint=%s,nodemask=%*pbl,task=%s,pid=%5d,uid=%5d",
> + oom_constraint_text[oc->constraint],
> + nodemask_pr_args(oc->nodemask),
> + p->comm, p->pid, from_kuid(&init_user_ns, task_uid(p)));
> + cpuset_print_current_mems_allowed();
> if (is_memcg_oom(oc))
> mem_cgroup_print_oom_info(oc->memcg, p);
> else {

Have you tested this patch at all? Because this doesn't match the new
format you are describing in the changelog.

oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0-1,task=panic,pid=10235,uid= 0

cpuset information clearly comes after oom victim comm, pid etc.
--
Michal Hocko
SUSE Labs