From: Vlastimil Babka <vbabka@suse.cz>
To: Pengfei Li <lpf.vector@gmail.com>, akpm@linux-foundation.org
Cc: cl@linux.com, penberg@kernel.org, rientjes@google.com,
iamjoonsoo.kim@lge.com, linux-mm@kvack.org,
linux-kernel@vger.kernel.org, guro@fb.com
Subject: Re: [PATCH v3 4/4] mm, slab_common: Make the loop for initializing KMALLOC_DMA start from 1
Date: Tue, 10 Sep 2019 12:26:14 +0200 [thread overview]
Message-ID: <23cb75f5-4a05-5901-2085-8aeabc78c100@suse.cz> (raw)
In-Reply-To: <20190910012652.3723-5-lpf.vector@gmail.com>
On 9/10/19 3:26 AM, Pengfei Li wrote:
> KMALLOC_DMA will be initialized only if KMALLOC_NORMAL with
> the same index exists.
>
> And kmalloc_caches[KMALLOC_NORMAL][0] is always NULL.
>
> Therefore, the loop that initializes KMALLOC_DMA should start
> at 1 instead of 0, which will reduce 1 meaningless attempt.
IMHO the saving of one iteration isn't worth making the code more
subtle. KMALLOC_SHIFT_LOW would be nice, but that would skip 1 + 2 which
are special.
Since you're doing these cleanups, have you considered reordering
kmalloc_info, size_index, kmalloc_index() etc so that sizes 96 and 192
are ordered naturally between 64, 128 and 256? That should remove
various special casing such as in create_kmalloc_caches(). I can't
guarantee it will be possible without breaking e.g. constant folding
optimizations etc., but seems to me it should be feasible. (There are
definitely more places to change than those I listed.)
> Signed-off-by: Pengfei Li <lpf.vector@gmail.com>
> ---
> mm/slab_common.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/slab_common.c b/mm/slab_common.c
> index af45b5278fdc..c81fc7dc2946 100644
> --- a/mm/slab_common.c
> +++ b/mm/slab_common.c
> @@ -1236,7 +1236,7 @@ void __init create_kmalloc_caches(slab_flags_t flags)
> slab_state = UP;
>
> #ifdef CONFIG_ZONE_DMA
> - for (i = 0; i <= KMALLOC_SHIFT_HIGH; i++) {
> + for (i = 1; i <= KMALLOC_SHIFT_HIGH; i++) {
> struct kmem_cache *s = kmalloc_caches[KMALLOC_NORMAL][i];
>
> if (s) {
>
next prev parent reply other threads:[~2019-09-10 10:26 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-10 1:26 [PATCH v3 0/4] mm, slab: Make kmalloc_info[] contain all types of names Pengfei Li
2019-09-10 1:26 ` [PATCH v3 1/4] " Pengfei Li
2019-09-10 1:26 ` [PATCH v3 2/4] mm, slab: Remove unused kmalloc_size() Pengfei Li
2019-09-10 1:26 ` [PATCH v3 3/4] mm, slab_common: use enum kmalloc_cache_type to iterate over kmalloc caches Pengfei Li
2019-09-10 1:26 ` [PATCH v3 4/4] mm, slab_common: Make the loop for initializing KMALLOC_DMA start from 1 Pengfei Li
2019-09-10 10:26 ` Vlastimil Babka [this message]
2019-09-11 14:33 ` Pengfei Li
2019-09-12 9:32 ` Vlastimil Babka
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=23cb75f5-4a05-5901-2085-8aeabc78c100@suse.cz \
--to=vbabka@suse.cz \
--cc=akpm@linux-foundation.org \
--cc=cl@linux.com \
--cc=guro@fb.com \
--cc=iamjoonsoo.kim@lge.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lpf.vector@gmail.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox