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 <vbabka@xxxxxxx> 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 <mhocko@xxxxxxxx> > --- > 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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>