I was looking at the code in oom_kill.c, I had the following suggestions Warning: I am not aware of what was discussed earlier about these issues or if they were discusses at all. 1. I was wondering that instead of killing the application using oom_kill_task() directly, should the OOM issue some kind of a warning by sending a signal (some signal with si_code set to a value indicating that the application is causing memory to run out). Then, wait for a while and then see if the application is still misbehaving and if so kill it. 2. Minor changes suggested In the code, I see points *= 2 and points /= 4 in a few places, recommend changing them to points <<= 1 and points >>= 2 to help the compiler generate better code Dialog between the kernel and an OOM aware application on OOM condition kernel to the application: Hey u are running the system out of memory application: Sorry my lord, I commited a blunder and will rectify myself application rectifies itself and everybody lives happily everafter application is stuborn kernel: You must go now, u have been unfair in your demands and have caused a lot of problem application: Does not get to say anything, it is zapped Comments, Suggestions, Criticism Balbir