Re: [PATCH 0/5] mm, slab: Make kmalloc_info[] contain all types of names

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
these time savings (is it in CPU cycles?) will be noticeable at all. 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.

> 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(-)
> 





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux