On 10/24/2012 12:56 PM, Pekka Enberg wrote: > On Mon, Oct 22, 2012 at 5:05 PM, Glauber Costa <glommer@xxxxxxxxxxxxx> wrote: >> +/** >> + * kmem_cache_free - Deallocate an object >> + * @cachep: The cache the allocation was from. >> + * @objp: The previously allocated object. >> + * >> + * Free an object which was previously allocated from this >> + * cache. >> + */ >> +void kmem_cache_free(struct kmem_cache *s, void *x) >> +{ >> + __kmem_cache_free(s, x); >> + trace_kmem_cache_free(_RET_IP_, x); >> +} >> +EXPORT_SYMBOL(kmem_cache_free); > > As Christoph mentioned, this is going to hurt performance. The proper > way to do this is to implement the *hook* in mm/slab_common.c and call > that from all the allocator specific kmem_cache_free() functions. > > Pekka > We would ideally like the hooks to be inlined as well. Specially for the memcg-disabled case, this will only get us a function call for no reason. -- 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>