Most of the arbitrary heuristics were removed from oom_badness(), things
like nice level, runtime, CAP_SYS_RESOURCE, etc., so that we only consider
the rss and swap usage of each application in comparison to each other
when deciding which task to kill. We give root tasks a 3% bonus since
they tend to be more important to the productivity or uptime of the
machine, which did exist -- albeit with a more dramatic impact -- in the
old heursitic.
You'll find that the new heuristic always kills the task consuming the
most amount of rss unless influenced by userspace via the tunables (or
within 3% of root tasks).
We always want to kill the most memory-hogging task because it avoids
needlessly killing additional tasks when we must immediately recall the
oom killer because we continue to allocate memory. If that task happens
to be of vital importance to userspace, then the user has full control
over tuning the oom killer priorities in such circumstances.
51b1bd2a was the actual change that deprecated it, which was a direct
follow-up to a63d83f4 which actually obsoleted it.
--