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
This archive was generated by hypermail 2b29 : Sun Sep 30 2001 - 21:00:28 EST