lkml.org 
[lkml]   [2008]   [May]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [RFC/PATCH 1/3] SLAB: Add PageSlab checking to ksize()
From
Date

On Thu, 2008-05-22 at 19:13 +0300, Pekka Enberg wrote:
> Hi Matt,
>
> On Thu, May 22, 2008 at 6:01 PM, Matt Mackall <mpm@selenic.com> wrote:
> > As I've said several times, ksize() on kmem_cache_alloced objects
> > -cannot work- on SLOB. Calling ksize() on something returned by
> > kmem_cache_alloc is a categorical error.
>
> Well, it's a historical fact that ksize() worked for both kmalloc()
> and kmem_cache_alloc() (see the kernedoc comment in mm/slab.c).

Indeed. It looks like it was in fact introduced for nommu (back in
2.5.47). But much like kfree(kmem_cache_alloc()) is a bogus thing to do,
ksize(kmem_cache_alloc()) is assuming too much about the relationship
between kmalloc and kmem_cache_alloc.

Nommu's accounting code makes two misguided assumptions a) that we can
determine how/whether something was allocated just from a pointer b)
that the size of that object can be determined dynamically in any case
other than kmalloc. But it really shouldn't need to do either of these.

> However, I think we should just look at getting rid of ksize()
> altogether as it's only (ab)used by the nommu code and few call-sites
> that open-code krealloc().

Right.

--
Mathematics is the supreme nostalgia of our time.



\
 
 \ /
  Last update: 2008-05-22 20:35    [W:0.065 / U:1.292 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site