Re: [PATCH] nommu: fix kobjsize() for SLOB and SLUB, v2.

From: David Howells
Date: Thu Jun 05 2008 - 12:38:33 EST



Paul Mundt <lethal@xxxxxxxxxxxx> wrote:

> kobjsize() has been abusing page->index as a method for sorting out
> compound order, which blows up both for page cache pages, and SLOB's
> reuse of the index in struct slob_page.
>
> Presently we are not able to accurately size arbitrary pointers that
> don't come from kmalloc(), so the best we can do is sort out the
> compound order from the head page if it's a compound page, or default
> to 0-order if it's impossible to ksize() the object.
>
> Obviously this leaves quite a bit to be desired in terms of object
> sizing accuracy, but the behaviour is unchanged over the existing
> implementation, while fixing the page->index oopses originally reported
> here:
>
> http://marc.info/?l=linux-mm&m=121127773325245&w=2
>
> Accuracy could also be improved by having SLUB and SLOB both set PG_slab
> on ksizeable pages, rather than just handling the __GFP_COMP cases
> irregardless of the PG_slab setting, as made possibly with Pekka's
> patches:
>
> http://marc.info/?l=linux-kernel&m=121139439900534&w=2
> http://marc.info/?l=linux-kernel&m=121139440000537&w=2
> http://marc.info/?l=linux-kernel&m=121139440000540&w=2
>
> This is primarily a bugfix for nommu systems for 2.6.26, with the aim
> being to gradually kill off kobjsize() and its particular brand of
> object abuse entirely.
>
> Reviewed-by: Pekka Enberg <penberg@xxxxxxxxxxxxxx>
> Signed-off-by: Paul Mundt <lethal@xxxxxxxxxxxx>

With this patch, SLOB now works on my FRV board.

Acked-by: David Howells <dhowells@xxxxxxxxxx>
--
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/