Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus
[pandora-kernel.git] / Documentation / ABI / obsolete / proc-pid-oom_adj
1 What:   /proc/<pid>/oom_adj
2 When:   August 2012
3 Why:    /proc/<pid>/oom_adj allows userspace to influence the oom killer's
4         badness heuristic used to determine which task to kill when the kernel
5         is out of memory.
6
7         The badness heuristic has since been rewritten since the introduction of
8         this tunable such that its meaning is deprecated.  The value was
9         implemented as a bitshift on a score generated by the badness()
10         function that did not have any precise units of measure.  With the
11         rewrite, the score is given as a proportion of available memory to the
12         task allocating pages, so using a bitshift which grows the score
13         exponentially is, thus, impossible to tune with fine granularity.
14
15         A much more powerful interface, /proc/<pid>/oom_score_adj, was
16         introduced with the oom killer rewrite that allows users to increase or
17         decrease the badness score linearly.  This interface will replace
18         /proc/<pid>/oom_adj.
19
20         A warning will be emitted to the kernel log if an application uses this
21         deprecated interface.  After it is printed once, future warnings will be
22         suppressed until the kernel is rebooted.