Messages in this thread | | | From | "Stefan Monnier" <monnier+lists/linux/kernel/news/@RUM.CS.YALE.EDU> | Subject | Re: Linux 2.2.15pre12 | Date | 7 Mar 2000 04:32:54 -0500 |
| |
>>>>> "Alan" == Alan Curry <pacman-kernel@cqc.com> writes: > Why do you assume ENOMEM results in death? The whole point is that it doesn't > need to. Critical processes like init can sleep and retry after ENOMEM.
And it's exactly in those cases that noovercommit bites you: So let's say syslogd is written carefully not to die when receiving ENOMEM, but to wait a while and try again (in the meant time, syslog messages coming from the network need to be dropped, obviously since we have no memory to store them into). Now syslogd hits a bug of some kind, goes crazy and gets stuck in loop eating more memory. What happens then ? Every app starts getting ENOMEM, so they all either die or keep asking for more ==> deadlock.
Stefan
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |