Re: [PATCH v2 9/9] mm, oom: print symbolic gfp_flags in oom warning

From: Vlastimil Babka
Date: Fri Jan 08 2016 - 06:34:38 EST


On 01/07/2016 10:29 PM, David Rientjes wrote:
On Tue, 24 Nov 2015, 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)


Is there a way that we can keep the order of the fields so that anything
parsing the kernel log for oom kills doesn't break?

Yes, this is possible with the new printk handling of flags, please look at v3:
http://marc.info/?l=linux-mm&m=145042944710510&w=2

There I changed the print just to have order first and gfp_mask next, as it seemed more logical. But it doesn't need to be that way and I can post V4 keeping the original order of variables. But do you think the flags expansion is safe to add there, or should I put it on separate line?

Thanks

The messages printed
to the kernel log are the only (current) way to determine that the kernel
killed something so we should be careful not to break anything parsing
them, and this is a common line to look for.