summaryrefslogtreecommitdiff
path: root/kernel/rtmutex-debug.c
diff options
context:
space:
mode:
authorSan Mehat <san@google.com>2010-04-26 15:11:04 -0700
committerIliyan Malchev <malchev@google.com>2011-05-23 15:43:37 -0700
commit82940f4bd7f2c5bcfe0192e3fe5a3cedb9a75ca5 (patch)
treefa9242abe7f2727fedb7c242214783020b0fa9c3 /kernel/rtmutex-debug.c
parent0981680d675d36c71efd048f5d2d1d8bd3d714e6 (diff)
lowmemorykiller: Don't try to kill the same pid over and over
Under certain circumstances, a process can take awhile to handle a sig-kill (especially if it's in a scheduler group with a very low share ratio). When this occurs, lowmemkiller returns to vmscan indicating the process memory has been freed - even though the process is still waiting to die. Since the memory hasn't actually freed, lowmemkiller is called again shortly after, and picks the same process to die; regardless of the fact that it has already been 'scheduled' to die and the memory has already been reported to vmscan as having been freed. Solution is to check fatal_signal_pending() on the selected task, and if it's already pending destruction return; indicating to vmscan that no resources were freed on this pass. Signed-off-by: San Mehat <san@google.com>
Diffstat (limited to 'kernel/rtmutex-debug.c')
0 files changed, 0 insertions, 0 deletions