On Wed, 30 May 2012, Christoph Lameter wrote: > On Wed, 30 May 2012, Pekka Enberg wrote: > > > > /* > > > + * Common fields provided in kmem_cache by all slab allocators > > > + */ > > > +#define SLAB_COMMON \ > > > + unsigned int size, align; \ > > > + unsigned long flags; \ > > > + const char *name; \ > > > + int refcount; \ > > > + void (*ctor)(void *); \ > > > + struct list_head list; > > > + > > > > I don't like this at all - it obscures the actual "kmem_cache" > > structures. If we can't come up with a reasonable solution that makes > > this a proper struct that's embedded in allocator-specific > > "kmem_cache" structures, it's best that we rename the fields but keep > > them inlined and drop this macro.. > > Actually that is a good idea. We can keep a fake struct in comments around > in slab.h to document what all slab allocators have to support and then at > some point we may be able to integrate the struct. Works for me. Pekka