Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754757AbbKYOb6 (ORCPT ); Wed, 25 Nov 2015 09:31:58 -0500 Received: from mail-wm0-f47.google.com ([74.125.82.47]:34457 "EHLO mail-wm0-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752681AbbKYOb5 (ORCPT ); Wed, 25 Nov 2015 09:31:57 -0500 Date: Wed, 25 Nov 2015 15:31:55 +0100 From: Michal Hocko To: Vlastimil Babka Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrew Morton , Joonsoo Kim , Minchan Kim , Sasha Levin , "Kirill A. Shutemov" , Mel Gorman Subject: Re: [PATCH v2 9/9] mm, oom: print symbolic gfp_flags in oom warning Message-ID: <20151125143155.GJ27283@dhcp22.suse.cz> References: <1448368581-6923-1-git-send-email-vbabka@suse.cz> <1448368581-6923-10-git-send-email-vbabka@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1448368581-6923-10-git-send-email-vbabka@suse.cz> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1856 Lines: 55 On Tue 24-11-15 13:36:21, Vlastimil Babka wrote: > It would be useful to translate gfp_flags into string representation when > printing in case of an OOM, especially as the flags have been undergoing some > changes recently and the script ./scripts/gfp-translate needs a matching source > version to be accurate. > > Example output: > > a.out invoked oom-killer: order=0, oom_score_adj=0, gfp_mask=0x24280ca(GFP_HIGHUSER_MOVABLE|GFP_ZERO) I like this _very much_ > Signed-off-by: Vlastimil Babka If this can be done with a printk formatter it would be even nicer but this is good enough for the OOM purpose. Acked-by: Michal Hocko > --- > mm/oom_kill.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/mm/oom_kill.c b/mm/oom_kill.c > index 5314b20..542d56c 100644 > --- a/mm/oom_kill.c > +++ b/mm/oom_kill.c > @@ -386,10 +386,12 @@ static void dump_tasks(struct mem_cgroup *memcg, const nodemask_t *nodemask) > static void dump_header(struct oom_control *oc, struct task_struct *p, > struct mem_cgroup *memcg) > { > - pr_warning("%s invoked oom-killer: gfp_mask=0x%x, order=%d, " > - "oom_score_adj=%hd\n", > - current->comm, oc->gfp_mask, oc->order, > - current->signal->oom_score_adj); > + pr_warning("%s invoked oom-killer: order=%d, oom_score_adj=%hd, " > + "gfp_mask=0x%x", > + current->comm, oc->order, current->signal->oom_score_adj, > + oc->gfp_mask); > + dump_gfpflag_names(oc->gfp_mask); > + > cpuset_print_current_mems_allowed(); > dump_stack(); > if (memcg) > -- > 2.6.3 -- Michal Hocko SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/