lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8641aeba-ab8c-f5a1-a6ad-cf8c0f86baa7@suse.cz>
Date:   Thu, 5 Sep 2019 14:25:18 +0200
From:   Vlastimil Babka <vbabka@...e.cz>
To:     Pengfei Li <lpf.vector@...il.com>, akpm@...ux-foundation.org
Cc:     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 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(-)
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ