Messages in this thread | | | From | David Howells <> | Subject | Re: [PATCH] nommu: fix kobjsize() for SLOB and SLUB, v2. | Date | Thu, 05 Jun 2008 17:26:25 +0100 |
| |
Paul Mundt <lethal@linux-sh.org> 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@cs.helsinki.fi> > Signed-off-by: Paul Mundt <lethal@linux-sh.org>
With this patch, SLOB now works on my FRV board.
Acked-by: David Howells <dhowells@redhat.com>
| |