lkml.org 
[lkml]   [2019]   [Sep]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [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@suse.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(-)
> >
>

\
 
 \ /
  Last update: 2019-09-05 15:52    [W:0.079 / U:1.420 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site