lkml.org 
[lkml]   [2002]   [Jul]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [BUG] loop.c oopses
On Tue, Jul 16 2002, Andrew Morton wrote:
> Jens Axboe wrote:
> >
> > On Tue, Jul 16 2002, Andrew Morton wrote:
> > > William Lee Irwin III wrote:
> > > >
> > > > loop.c oopses when bio_copy() returns NULL. This was encountered while
> > > > running dbench 16 on a loopback-mounted reiserfs filesystem.
> > >
> > > ugh. GFP_NOIO is evil. I guess it's better to add __GFP_HIGH
> > > there, but it's not a happy solution.
> >
> > GFP_NOIO has __GFP_WAIT set, so bio_copy -> bio_alloc -> mempool_alloc
> > should never fail. Puzzled.
> >
>
> Presumably the loop driver was called from within shrink_cache(),
> as PF_MEMALLOC. Those allocations can fail.

Maybe I'm being dense, but I don't see how PF_MEMALLOC would prevent
mempool_alloc() from doing the right thing still. In the end we'll just
end up stalling on our own pool.

> That's maybe wrong - if there are a decent number of pages
> under writeback then we should be able to just wait it out.
> But it gets tricky with the loop driver...

Indeed

--
Jens Axboe

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:27    [from the cache]
©2003-2011 Jasper Spaans. Advertise on this site