Hello, Glauber. 2012/10/23 Glauber Costa <glom...@parallels.com>: > 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 from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/