On Thu, 29 Jan 2015 18:11:48 +0300 Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> wrote: > virt_to_obj takes kmem_cache address, address of slab page, > address x pointing somewhere inside slab object, > and returns address of the begging of object. "beginning" The above text may as well be placed into slub_def.h as a comment. > Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> > Acked-by: Christoph Lameter <cl@xxxxxxxxx> > --- > include/linux/slub_def.h | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/include/linux/slub_def.h b/include/linux/slub_def.h > index 9abf04e..eca3883 100644 > --- a/include/linux/slub_def.h > +++ b/include/linux/slub_def.h > @@ -110,4 +110,9 @@ static inline void sysfs_slab_remove(struct kmem_cache *s) > } > #endif > > +static inline void *virt_to_obj(struct kmem_cache *s, void *slab_page, void *x) > +{ > + return x - ((x - slab_page) % s->size); > +} "const void *x" would be better. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>