From: David Rientjes Date: Tue, 16 Jun 2009 22:32:57 +0000 (-0700) Subject: oom: avoid unnecessary mm locking and scanning for OOM_DISABLE X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=4d8b9135c30ccbe46e621fefd862969819003fd6;hp=4d8b9135c30ccbe46e621fefd862969819003fd6;p=mv-sheeva.git oom: avoid unnecessary mm locking and scanning for OOM_DISABLE This moves the check for OOM_DISABLE to the badness heuristic so it is only necessary to hold task_lock() once. If the mm is OOM_DISABLE, the score is 0, which is also correctly exported via /proc/pid/oom_score. This requires that tasks with badness scores of 0 are prohibited from being oom killed, which makes sense since they would not allow for future memory freeing anyway. Since the oom_adj value is a characteristic of an mm and not a task, it is no longer necessary to check the oom_adj value for threads sharing the same memory (except when simply issuing SIGKILLs for threads in other thread groups). Cc: Nick Piggin Cc: Rik van Riel Cc: Mel Gorman Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ---