diff options
| author | David Rientjes <[email protected]> | 2010-10-26 14:21:23 -0700 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2010-10-26 16:52:05 -0700 |
| commit | e18641e19a9204f241f04a5ac700168dcd18de4f (patch) | |
| tree | f1058203588bd31584d217a25fabe4f7085a1f44 /scripts | |
| parent | 3d5992d2ac7dc09aed8ab537cba074589f0f0a52 (diff) | |
oom: avoid killing a task if a thread sharing its mm cannot be killed
The oom killer's goal is to kill a memory-hogging task so that it may
exit, free its memory, and allow the current context to allocate the
memory that triggered it in the first place. Thus, killing a task is
pointless if other threads sharing its mm cannot be killed because of its
/proc/pid/oom_adj or /proc/pid/oom_score_adj value.
This patch checks whether any other thread sharing p->mm has an
oom_score_adj of OOM_SCORE_ADJ_MIN. If so, the thread cannot be killed
and oom_badness(p) returns 0, meaning it's unkillable.
Signed-off-by: David Rientjes <[email protected]>
Cc: KAMEZAWA Hiroyuki <[email protected]>
Cc: KOSAKI Motohiro <[email protected]>
Cc: Rik van Riel <[email protected]>
Cc: Ying Han <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions