mm, slab: Make kmalloc_info[] contain all types of names
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v6 Latest3 patches 2 repliesIn review
- v57 patches 3 repliesSuperseded
- v4 posting 2/27 patches 12 repliesSuperseded
Earlier versions · 4
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v4 posting 1/2 | 7 patches | 0 replies | Superseded | |
| v3 | 4 patches | 3 replies | Superseded | |
| v2 | 4 patches | 2 replies | Superseded | |
| v1 | 5 patches | 13 replies | Superseded |
Changes in v6 from the cover letter
--
1. abandon patch 4-7 (Because there is not enough reason to explain that they are beneficial)
Patches in v6 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/3 | mm, slab: Make kmalloc_info[] contain all types of namesmm/ mm/ mm/ | +51 | 0 replies | |
| 2/3 | mm, slab: Remove unused kmalloc_size()include/ mm/ mm/ | +5 | 0 replies | |
| 3/3 | mm, slab_common: Use enum kmalloc_cache_type to iterate over kmalloc cachesmm/ | +3 | 0 replies |
Reviews trailers per patch
All 3 patches have a Reviewed-by or Acked-by.
| Patch | Vlastimil Babka | Roman Gushchin | David Rientjes |
|---|---|---|---|
| 1/3 | A-b | A-b | A-b |
| 2/3 | A-b | A-b | A-b |
| 3/3 | A-b | A-b | A-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.
Cover letter [PATCH v6 0/3] mm, slab: Make kmalloc_info[] contain all types of names
Changes in v6
--
1. abandon patch 4-7 (Because there is not enough reason to explain that they are beneficial)
Changes in v5
--
1. patch 1/7:
- rename SET_KMALLOC_SIZE to INIT_KMALLOC_INFO
2. patch 5/7:
- fix build errors (Reported-by: kbuild test robot)
- make all_kmalloc_info[] static (Reported-by: kbuild test robot)
3. patch 6/7:
- for robustness, determine kmalloc_cache is !NULL in new_kmalloc_cache()
4. add ack tag from David Rientjes
Changes in v4
--
1. [old] abandon patch 4/4
2. [new] patch 4/7:
- return ZERO_SIZE_ALLOC instead 0 for zero sized requests
3. [new] patch 5/7:
- reorder kmalloc_info[], kmalloc_caches[] (in order of size)
- hard to split, so slightly larger
4. [new] patch 6/7:
- initialize kmalloc_cache[] with the same size but different types
5. [new] patch 7/7:
- modify kmalloc_caches[type][idx] to kmalloc_caches[idx][type]
Patch 4-7 are newly added, more information can be obtained from commit messages.
Changes in v3
--
1. restore __initconst (patch 1/4)
2. rename patch 3/4
3. add more clarification for patch 4/4
4. add ack tag from Roman Gushchin
Changes in v2
--
1. remove __initconst (patch 1/5)
2. squash patch 2/5
3. add ack tag from Vlastimil Babka
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.
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()
(CPU cycles)
5.3-rc7 66264
5.3-rc7+patch 42188
Pengfei Li (3):
mm, slab: Make kmalloc_info[] contain all types of names mm, slab: Remove unused kmalloc_size()
mm, slab_common: Use enum kmalloc_cache_type to iterate over kmalloc
caches
include/linux/slab.h | 20 ----------- mm/slab.c | 7 ++-- mm/slab.h | 2 +- mm/slab_common.c | 99 ++++++++++++++++++++++++++++------------------------ 4 files changed, 58 insertions(+), 70 deletions(-)
Signature · 1 line
2.7.4