Re: [PATCH] Remove OOM killer from try_to_free_pages / all_unreclaimable braindamage

Chris Ross
2004-11-18T00:40:38Z

Werner Almesberger escreveu:
> Chris Ross wrote:
> The underlying hypothesis for suggesting explicitly flagging
> candidates for killing is of course that it doesn't see who
> exactly is misbehaving :-) Since this issue has been around for
> a nummber of years, I think it's fair to assume that the OOM
> killers indeed have a problem in that area.

That's my point ii) below, which is what Thomas's patch is trying to
address. I doubt you'd find much disagreement that this area still needs
work :)

>>The example I have in mind is on my machine when the daily cron
>>run over commits causing standard daemons such as ntpd to be killed to
>>make room. It would be preferable if the daemon was swapped out and just
>>didn't run for minutes, or even hours if need be, but was allowed to run
>>again once the system had settled down.
>
> Ah, now I understand why you'd want to swap. Interesting. Now,
> depending on the time if day, you have typically "interactive"
> processes, like your idle desktop, turn into "non-interactive"
> ones, which can then be subjected to swapping. Nice example
> against static classification :-)

A better example than the ntpd daemon (which mightn't take kindly to
finding minutes just passed in a blink of its eye) is Thomas's example
with the sshd. If the daemon was swapped out you wouldn't be able to log
into the box while it was thrashing, but in practice you can't really
anyway. At least once the system had recovered sufficiently you could
get back in, under the present system you can never log in again.

>>So, the problem breaks down into three parts:
>>
>> i) When should the oom killer be invoked.
>> ii) How do we pick a victim process
>> iii) How can we deal with the process in the most useful manner
>
> iii) may also affect i). If you're going to swap, you don't want
> to wait until you're fighting for the last available page in the
> system.

Well yes, in typical fashion everything depends on everything else. That
in a nutshell is also my argument against the kill-me flag.

Regards,
Chris R.