Messages in this thread | | | Date | Tue, 12 May 2009 18:49:34 +0200 | From | Nick Piggin <> | Subject | Re: [patch -mmotm] mm: invoke oom killer for __GFP_NOFAIL |
| |
On Tue, May 12, 2009 at 06:37:30PM +0200, Jens Axboe wrote: > On Tue, May 12 2009, Nick Piggin wrote: > > On Tue, May 12, 2009 at 02:42:02PM +0200, Jens Axboe wrote: > > > On Mon, May 11 2009, Andrew Morton wrote: > > > > On Sat, 9 May 2009 15:46:39 -0700 (PDT) > > > > David Rientjes <rientjes@google.com> wrote: > > > > > > > > > The oom killer must be invoked regardless of the order if the allocation > > > > > is __GFP_NOFAIL, otherwise it will loop forever when reclaim fails to > > > > > free some memory. > > > > > > > > Sigh. We're supposed to be deleting __GFP_NOFAIL. I added it as a way > > > > of easily finding lame error-handling-challenged callers which need to > > > > be fixed up. So of course we went and added lots more callers. > > > > > > > > y:/usr/src/linux-2.6.30-rc5> grep -rl GFP_NOFAIL . > > > > ./fs/bio-integrity.c > > > > This is no good either, it seems to be in the bio submission path. > > > > It needs a mempool or something. > > mempool cannot help here, since the allocation is tied to the process > (and IO) life time.
Oh, I was talking about bio-integrity.c...
> > It has a dead code "fallback" that returns an error, but I suspect that's > > not really acceptable. > > It's not that difficult to handle an error there, it just means that we > lose any process association with that request. It's mostly making sure > that all the bits and pieces deal with that correctly, but it should not > be very hard.
| |