Messages in this thread | | | Date | Wed, 25 Nov 2015 15:31:55 +0100 | From | Michal Hocko <> | Subject | Re: [PATCH v2 9/9] mm, oom: print symbolic gfp_flags in oom warning |
| |
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@suse.cz>
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@suse.com>
> --- > 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
| |