Re: [PATCHv2 4.3-rc6] proc: fix convert from oom_score_adj to oom_adj

From: David Rientjes
Date: Mon Oct 26 2015 - 17:43:04 EST


On Thu, 22 Oct 2015, Hongjie Fang (æææ) wrote:

>
> The oom_adj has been replaced by oom_score_adj in kernel,
> but the /proc/pid/oom_adj is provided for legacy purposes.
> When write/read a value into/from /proc/pid/oom_adj,
> there is a transformation between oom_adj and oom_score_adj.
>
> After writing a new value into /proc/pid/oom_adj, then read it.
> The return value is a different value than you wrote.
> Fix this by adding a adjustment factor.
>

You're only looking at the output and seeing that it disagrees with what
was written and ignoring _why_ it disagrees.

It's because, as I already stated, oom_score_adj is the effective tunable
for oom kill process prioritization and the legacy oom_adj had a different
scale where a 1:1 mapping is not possible.

All throughout the kernel, we report the effective value. We accept
writes and the reads report the effective value. This is no different.

Nack again.