Messages in this thread |  | | | Date | Tue, 30 Jun 2009 08:27:20 +0200 | | From | Pavel Machek <> | | Subject | Re: upcoming kerneloops.org item: get_page_from_freelist |
| |
> > This is not a new concept. oom has never been "immediately kill". > > Well, it has been immediate for a long time. A couple of reasons which > I can recall: > > - A page-allocating process will oom-kill another process in the > expectation that the killing will free up some memory. If the > oom-killed process remains stuck in the page allocator, that doesn't > work. > > - The oom-killed process might be holding locks (typically fs locks). > This can cause an arbitrary number of other processes to be blocked. > So to get the system unstuck we need the oom-killed process to > immediately exit the page allocator, to handle the NULL return and to > drop those locks. > > There may be other reasons - it was all a long time ago, and I've never > personally hacked on the oom-killer much and I never get oom-killed. > But given the amount of development work which goes on in there, some > people must be getting massacred. > > > A long time ago, the Suse kernel shipped with a largely (or > completely?) disabled oom-killer. It removed the > retry-small-allocations-for-ever logic and simply returned NULL to the > caller. I never really understood what problem/thinking led Andrea to > do that.
I guess he was trying to get huge 32bit highmem machines to work... On such systems, kmalloc failures will eventually get you... Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
|  |