Message ID | 20190903160430.1368-1-lpf.vector@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | mm, slab: Make kmalloc_info[] contain all types of names | expand |
On Wed, 4 Sep 2019, Pengfei Li wrote: > There are three types of kmalloc, KMALLOC_NORMAL, KMALLOC_RECLAIM > and KMALLOC_DMA. I only got a few patches of this set. Can I see the complete patchset somewhere?
On Thu, Sep 5, 2019 at 3:27 AM Christopher Lameter <cl@linux.com> wrote: > > On Wed, 4 Sep 2019, Pengfei Li wrote: > > > There are three types of kmalloc, KMALLOC_NORMAL, KMALLOC_RECLAIM > > and KMALLOC_DMA. > > I only got a few patches of this set. Can I see the complete patchset > somewhere? Yes, you can get the patches from https://patchwork.kernel.org/cover/11128325/ or https://lore.kernel.org/patchwork/cover/1123412/ Hope you like it :)
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(-) >
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(-) > > >