Hello, Glauber. 2012/10/23 Glauber Costa <glommer@xxxxxxxxxxxxx>: > On 10/22/2012 06:45 PM, Christoph Lameter wrote: >> On Mon, 22 Oct 2012, Glauber Costa 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); >>> + >> >> This results in an additional indirection if tracing is off. Wonder if >> there is a performance impact? >> > if tracing is on, you mean? > > Tracing already incurs overhead, not sure how much a function call would > add to the tracing overhead. > > I would not be concerned with this, but I can measure, if you have any > specific workload in mind. With this patch, kmem_cache_free() invokes __kmem_cache_free(), that is, it add one more "call instruction" than before. I think that Christoph's comment means above fact. Thanks. -- 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>