From: Glauber Costa <glommer@parallels.com>
To: Pekka Enberg <penberg@kernel.org>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
Christoph Lameter <cl@linux.com>,
David Rientjes <rientjes@google.com>
Subject: Re: [PATCH 2/2] slab: move kmem_cache_free to common code
Date: Wed, 24 Oct 2012 14:03:50 +0400 [thread overview]
Message-ID: <5087BD06.5010904@parallels.com> (raw)
In-Reply-To: <CAOJsxLEcUJzZnyYDPwzEkjirSKEWXcGM6PxY=nyrktFZgP7ztg@mail.gmail.com>
On 10/24/2012 12:56 PM, Pekka Enberg wrote:
> On Mon, Oct 22, 2012 at 5:05 PM, Glauber Costa <glommer@parallels.com> 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@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Glauber Costa <glommer@parallels.com>
To: Pekka Enberg <penberg@kernel.org>
Cc: <linux-mm@kvack.org>, <linux-kernel@vger.kernel.org>,
Christoph Lameter <cl@linux.com>,
David Rientjes <rientjes@google.com>
Subject: Re: [PATCH 2/2] slab: move kmem_cache_free to common code
Date: Wed, 24 Oct 2012 14:03:50 +0400 [thread overview]
Message-ID: <5087BD06.5010904@parallels.com> (raw)
In-Reply-To: <CAOJsxLEcUJzZnyYDPwzEkjirSKEWXcGM6PxY=nyrktFZgP7ztg@mail.gmail.com>
On 10/24/2012 12:56 PM, Pekka Enberg wrote:
> On Mon, Oct 22, 2012 at 5:05 PM, Glauber Costa <glommer@parallels.com> 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.
next prev parent reply other threads:[~2012-10-24 10:03 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-22 14:05 [PATCH 0/2] move kmem_cache_free to common code Glauber Costa
2012-10-22 14:05 ` Glauber Costa
2012-10-22 14:05 ` [PATCH 1/2] slab: commonize slab_cache field in struct page Glauber Costa
2012-10-22 14:05 ` Glauber Costa
2012-10-22 14:44 ` Christoph Lameter
2012-10-22 14:44 ` Christoph Lameter
2012-10-24 8:58 ` Pekka Enberg
2012-10-24 8:58 ` Pekka Enberg
2012-10-22 14:05 ` [PATCH 2/2] slab: move kmem_cache_free to common code Glauber Costa
2012-10-22 14:05 ` Glauber Costa
2012-10-22 14:45 ` Christoph Lameter
2012-10-22 14:45 ` Christoph Lameter
2012-10-22 15:10 ` Glauber Costa
2012-10-22 15:10 ` Glauber Costa
2012-10-23 0:48 ` JoonSoo Kim
2012-10-23 0:48 ` JoonSoo Kim
2012-10-23 8:07 ` Glauber Costa
2012-10-23 8:07 ` Glauber Costa
2012-10-23 10:52 ` Glauber Costa
2012-10-23 10:52 ` Glauber Costa
2012-10-23 15:43 ` JoonSoo Kim
2012-10-23 15:43 ` JoonSoo Kim
2012-10-24 8:31 ` Glauber Costa
2012-10-24 8:31 ` Glauber Costa
2012-10-24 13:39 ` Glauber Costa
2012-10-24 13:39 ` Glauber Costa
2012-10-23 14:12 ` Christoph Lameter
2012-10-23 14:12 ` Christoph Lameter
2012-10-23 14:15 ` Glauber Costa
2012-10-23 14:15 ` Glauber Costa
2012-10-23 14:34 ` Christoph Lameter
2012-10-23 14:34 ` Christoph Lameter
2012-10-23 18:16 ` Christoph Lameter
2012-10-23 18:16 ` Christoph Lameter
2012-10-24 8:56 ` Pekka Enberg
2012-10-24 8:56 ` Pekka Enberg
2012-10-24 10:03 ` Glauber Costa [this message]
2012-10-24 10:03 ` Glauber Costa
2012-10-24 8:56 ` Pekka Enberg
2012-10-24 8:56 ` Pekka Enberg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5087BD06.5010904@parallels.com \
--to=glommer@parallels.com \
--cc=cl@linux.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=penberg@kernel.org \
--cc=rientjes@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.