Re: [BUG] loop.c oopses

William Lee Irwin III (wli@holomorphy.com)
Tue, 16 Jul 2002 01:52:33 -0700


Jens Axboe wrote:
>> GFP_NOIO has __GFP_WAIT set, so bio_copy -> bio_alloc -> mempool_alloc
>> should never fail. Puzzled.

On Tue, Jul 16, 2002 at 01:52:40AM -0700, Andrew Morton wrote:
> Presumably the loop driver was called from within shrink_cache(),
> as PF_MEMALLOC. Those allocations can fail.
> 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...

I included a backtrace in my original post showing that the allocation
failure did indeed occur beneath shrink_cache().

2MB under writeback, but it also showed that the dirty memory thresholds
were being exceeded. The debugging information obtained was unclear.
The counters reported in /proc/meminfo appear to be accurate.

Cheers,
Bill
-
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/