linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [patch] mm: oom_kill: revert 3% system memory bonus for privileged tasks
@ 2014-01-15 23:43 Johannes Weiner
  2014-01-16  0:18 ` David Rientjes
  0 siblings, 1 reply; 10+ messages in thread
From: Johannes Weiner @ 2014-01-15 23:43 UTC (permalink / raw)
  To: Andrew Morton; +Cc: David Rientjes, Michal Hocko, linux-mm, linux-kernel

With a63d83f427fb ("oom: badness heuristic rewrite"), the OOM killer
tries to avoid killing privileged tasks by subtracting 3% of overall
memory (system or cgroup) from their per-task consumption.  But as a
result, all root tasks that consume less than 3% of overall memory are
considered equal, and so it only takes 33+ privileged tasks pushing
the system out of memory for the OOM killer to do something stupid and
kill sshd or dhclient.  For example, on a 32G machine it can't tell
the difference between the 1M agetty and the 10G fork bomb member.

The changelog describes this 3% boost as the equivalent to the global
overcommit limit being 3% higher for privileged tasks, but this is not
the same as discounting 3% of overall memory from _every privileged
task individually_ during OOM selection.

Revert back to the old priority boost of pretending root tasks are
only a quarter of their actual size.

Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
---
 mm/oom_kill.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/mm/oom_kill.c b/mm/oom_kill.c
index 1e4a600a6163..1b0011c3d9e2 100644
--- a/mm/oom_kill.c
+++ b/mm/oom_kill.c
@@ -166,11 +166,11 @@ unsigned long oom_badness(struct task_struct *p, struct mem_cgroup *memcg,
 	task_unlock(p);
 
 	/*
-	 * Root processes get 3% bonus, just like the __vm_enough_memory()
-	 * implementation used by LSMs.
+	 * Memory consumption being equal, prefer killing an
+	 * unprivileged task over a root task.
 	 */
 	if (has_capability_noaudit(p, CAP_SYS_ADMIN))
-		adj -= 30;
+		points /= 4;
 
 	/* Normalize to oom_score_adj units */
 	adj *= totalpages / 1000;
-- 
1.8.4.2

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2014-01-30  2:12 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-15 23:43 [patch] mm: oom_kill: revert 3% system memory bonus for privileged tasks Johannes Weiner
2014-01-16  0:18 ` David Rientjes
2014-01-16  7:07   ` Johannes Weiner
2014-01-22  4:53     ` David Rientjes
2014-01-24  4:05       ` Johannes Weiner
2014-01-26  3:48         ` [patch] mm, oom: base root bonus on current usage David Rientjes
2014-01-26 15:27           ` Johannes Weiner
2014-01-29 20:28           ` Andrew Morton
2014-01-30  0:35             ` David Rientjes
2014-01-30  2:12             ` Johannes Weiner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox