[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAD7_sbH+1ZeHVcDWwVkWmNjCzDU4TUAN1zXWCmj1bftyU5o6TA@mail.gmail.com>
Date: Thu, 5 Sep 2019 21:51:14 +0800
From: Pengfei Li <lpf.vector@...il.com>
To: Vlastimil Babka <vbabka@...e.cz>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Christopher Lameter <cl@...ux.com>, penberg@...nel.org,
rientjes@...gle.com, iamjoonsoo.kim@....com, linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 0/5] mm, slab: Make kmalloc_info[] contain all types of names
On Thu, Sep 5, 2019 at 8:25 PM Vlastimil Babka <vbabka@...e.cz> wrote:
>
> On 9/3/19 6:04 PM, Pengfei Li wrote:
> > There are three types of kmalloc, KMALLOC_NORMAL, KMALLOC_RECLAIM
> > and KMALLOC_DMA.
> >
> > The name of KMALLOC_NORMAL is contained in kmalloc_info[].name,
> > but the names of KMALLOC_RECLAIM and KMALLOC_DMA are dynamically
> > generated by kmalloc_cache_name().
> >
> > Patch1 predefines the names of all types of kmalloc to save
> > the time spent dynamically generating names.
> >
> > The other 4 patches did some cleanup work.
> >
> > These changes make sense, and the time spent by new_kmalloc_cache()
> > has been reduced by approximately 36.3%.
> >
> > Time spent by
> > new_kmalloc_cache()
> > 5.3-rc7 66264
> > 5.3-rc7+patch 42188
>
> Note that the caches are created only once upon boot, so I doubt that
Thank you for your comments.
Yes, kmalloc-xxx are only created at boot time.
> these time savings (is it in CPU cycles?) will be noticeable at all.
Yes, it is CPU cycles.
> But diffstat looks ok, and it avoids using kmalloc() (via kasprintf()) to
> allocate names for kmalloc(), so in that sense I think it's worthwhile
> to consider. Thanks.
>
Thanks.
> > Pengfei Li (5):
> > mm, slab: Make kmalloc_info[] contain all types of names
> > mm, slab_common: Remove unused kmalloc_cache_name()
> > mm, slab: Remove unused kmalloc_size()
> > mm, slab_common: Make 'type' is enum kmalloc_cache_type
> > mm, slab_common: Make initializing KMALLOC_DMA start from 1
> >
> > include/linux/slab.h | 20 ---------
> > mm/slab.c | 7 +--
> > mm/slab.h | 2 +-
> > mm/slab_common.c | 101 +++++++++++++++++++++++--------------------
> > 4 files changed, 59 insertions(+), 71 deletions(-)
> >
>
Powered by blists - more mailing lists