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

Vlastimil Babka
2016-01-08T11:34:35Z

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.
>