David Rientjes 08ab9b10d4 mm, oom: force oom kill on sysrq+f
The oom killer chooses not to kill a thread if:

 - an eligible thread has already been oom killed and has yet to exit,
   and

 - an eligible thread is exiting but has yet to free all its memory and
   is not the thread attempting to currently allocate memory.

SysRq+F manually invokes the global oom killer to kill a memory-hogging
task.  This is normally done as a last resort to free memory when no
progress is being made or to test the oom killer itself.

For both uses, we always want to kill a thread and never defer.  This
patch causes SysRq+F to always kill an eligible thread and can be used to
force a kill even if another oom killed thread has failed to exit.

Signed-off-by: David Rientjes <rientjes@google.com>
Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Acked-by: Pekka Enberg <penberg@kernel.org>
Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-03-21 17:54:58 -07:00
..
2012-03-08 10:50:35 -08:00
2012-03-21 10:37:25 -07:00
2012-03-20 11:16:20 -07:00
2012-03-21 10:34:56 -07:00
2012-03-20 11:24:39 -07:00
2012-03-21 10:15:51 -07:00
2012-02-01 19:35:21 +01:00
2012-03-17 01:41:43 -07:00
2012-03-21 10:34:56 -07:00
2012-03-21 10:32:00 -07:00
2012-03-21 17:54:58 -07:00
2012-03-20 11:26:30 -07:00
2012-03-04 23:11:14 +01:00
2012-02-08 16:58:04 -08:00