Re: [Oops] i386 mm/slab.c (cache_flusharray)

From: Christoph Hellwig
Date: Fri Dec 12 2003 - 14:04:31 EST


On Wed, Dec 10, 2003 at 10:58:32AM +1100, Nathan Scott wrote:
> > > [ Christoph, is this failure expected? I think you/Steve made
> > > some changes there to use __GFP_NOFAIL and assume it wont fail?
> > > (in 2.4 we do memory allocations differently to better handle
> > > failures, but that code was removed...) ]
> >
> > It looks like the slab allocator doesn't like __GFP_NOFAIL, we'll
> > probably have to revert the XFS memory allocation wrappers to the
> > 2.4 versions.
> >
>
> OK, thanks - I'll look into it.

This starts to look really fishy:

hch@bird:/repo/repo/linux-2.5/fs/jbd$ egrep -r NOFAIL *
journal.c: new_bh = alloc_buffer_head(GFP_NOFS|__GFP_NOFAIL);
journal.c: return kmalloc(size, flags | (retry ? __GFP_NOFAIL :
0));

both of these end up in the slab layer, just like XFS - except
that __cache_alloc still may fail. Looks like whe're better of
fixing mm/slab.c

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