aboutsummaryrefslogtreecommitdiffstats
path: root/mm/slub.c
AgeCommit message (Expand)AuthorFilesLines
2 daysMerge branch 'slab/for-next' of https://git.kernel.org/pub/scm/linux/kernel/g...Mark Brown1-342/+313
3 daysMerge branch 'slab/for-7.2/alloc_bulk' into slab/for-nextVlastimil Babka (SUSE)1-30/+34
3 daysmm/slab: improve kmem_cache_alloc_bulkChristoph Hellwig1-30/+34
3 daysMerge branch 'slab/for-7.2/alloc_token' into slab/for-nextVlastimil Babka (SUSE)1-122/+28
3 daysmm/slub: detach and reattach partial slabs in batchHao Li1-8/+20
3 daysmm/slub: introduce helpers for node partial slab stateHao Li1-6/+17
3 daysmm/slub: use empty sheaf helpers for oversized sheavesShengming Hu1-11/+10
4 daysmm/slub: fix typo in sheaves commentWilson Zeng1-1/+1
4 daysmm, slab: simplify returning slab in __refill_objects_node()Vlastimil Babka (SUSE)1-10/+0
4 daysmm, slab: add an optimistic __slab_try_return_freelist()Vlastimil Babka (SUSE)1-11/+48
10 daysMerge tag 'slab-for-7.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-0/+1
2026-05-14mm/slub: hold cpus_read_lock around flush_rcu_sheaves_on_cache()Qing Wang1-0/+1
2026-05-14slab: fix kernel-docs for mm-apiMarco Elver1-98/+0
2026-05-14slab: support for compiler-assisted type-based slab cache partitioningMarco Elver1-25/+29
2026-05-14mm/slub: defer freelist construction until after bulk allocation from a new slabShengming Hu1-144/+156
2026-05-05mm/slab: Add kvfree_atomic() helperUladzislau Rezki (Sony)1-0/+16
2026-04-27mm/slab: return NULL early from kmalloc_nolock() in NMI on UPHarry Yoo (Oracle)1-0/+4
2026-04-17slub: fix data loss and overflow in krealloc()Marco Elver1-12/+12
2026-04-13Merge branch 'slab/for-7.1/misc' into slab/for-nextVlastimil Babka (SUSE)1-16/+8
2026-04-07slub: clarify kmem_cache_refill_sheaf() commentsHao Li1-5/+8
2026-04-07slub: use N_NORMAL_MEMORY in can_free_to_pcs to handle remote freesHao Li1-2/+3
2026-03-19slab: free remote objects to sheaves on memoryless nodesVlastimil Babka (SUSE)1-12/+55
2026-03-19slab: create barns for online memoryless nodesVlastimil Babka (SUSE)1-5/+60
2026-03-19slab: decouple pointer to barn from kmem_cache_nodeVlastimil Babka (SUSE)1-56/+72
2026-03-16slab: remove alloc_full_sheaf()Vlastimil Babka (SUSE)1-37/+20
2026-03-11slab: fix memory leak when refill_sheaf() failsQing Wang1-0/+4
2026-03-10mm/slab: fix an incorrect check in obj_exts_alloc_size()Harry Yoo1-7/+0
2026-03-04mm/slab: allow sheaf refill if blocking is not allowedVlastimil Babka (SUSE)1-12/+10
2026-03-02slab: distinguish lock and trylock for sheaf_flush_main()Vlastimil Babka1-10/+37
2026-02-27mm/slab: initialize slab->stride early to avoid memory ordering issuesHarry Yoo1-2/+3
2026-02-26mm/slab: mark alloc tags empty for sheaves allocated with __GFP_NO_OBJ_EXTSuren Baghdasaryan1-10/+23
2026-02-26mm/slab: pass __GFP_NOWARN to refill_sheaf() if fallback is availableHarry Yoo1-4/+9
2026-02-26mm/slab: constify sysfs attributesThomas Weißschuh1-6/+6
2026-02-26mm/slab: create sysfs attribute through default_groupsThomas Weißschuh1-10/+2
2026-02-21Convert 'alloc_obj' family to use the new default GFP_KERNEL argumentLinus Torvalds1-2/+2
2026-02-21treewide: Replace kmalloc with kmalloc_obj for non-scalar typesKees Cook1-4/+4
2026-02-16Merge tag 'slab-for-7.0-part2' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-17/+63
2026-02-12Merge tag 'mm-stable-2026-02-11-19-22' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-1/+2
2026-02-11Merge tag 'slab-for-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/vba...Linus Torvalds1-1783/+1418
2026-02-10mm/slab: drop the OBJEXTS_NOSPIN_ALLOC flag from enum objext_flagsHarry Yoo1-10/+8
2026-02-10mm/slab: allow freeing kmalloc_nolock()'d objects using kfree[_rcu]()Harry Yoo1-1/+20
2026-02-10mm/slab: use prandom if !allow_spinHarry Yoo1-4/+24
2026-02-10mm/slab: do not access current->mems_allowed_seq if !allow_spinHarry Yoo1-2/+11
2026-02-10Merge branch 'slab/for-7.0/sheaves' into slab/for-nextVlastimil Babka1-1634/+882
2026-02-06slub: let need_slab_obj_exts() return false if SLAB_NO_OBJ_EXT is setHao Li1-0/+3
2026-02-06mm/slab: Add alloc_tagging_slab_free_hook for memcg_alloc_abort_singleHao Ge1-1/+5
2026-02-04mm/slab: only allow SLAB_OBJ_EXT_IN_OBJ for unmergeable cachesHarry Yoo1-1/+2
2026-02-04mm/slab: place slabobj_ext metadata in unused space within s->sizeHarry Yoo1-9/+87
2026-02-04mm/slab: move [__]ksize and slab_ksize() to mm/slub.cHarry Yoo1-0/+86
2026-02-04mm/slab: save memory by allocating slabobj_ext array from leftoverHarry Yoo1-5/+150
2026-02-04mm/memcontrol,alloc_tag: handle slabobj_ext access under KASAN poisonHarry Yoo1-35/+34
2026-02-04mm/slab: use stride to access slabobj_extHarry Yoo1-0/+2
2026-02-04mm/slab: abstract slabobj_ext access via new slab_obj_ext() helperHarry Yoo1-19/+26
2026-02-04mm/slab: allow specifying free pointer offset when using constructorHarry Yoo1-2/+4
2026-02-04mm/slab: use unsigned long for orig_size to ensure proper metadata alignHarry Yoo1-7/+7
2026-02-04slub: clarify object field layout commentsHao Li1-33/+49
2026-02-04mm/slab: avoid allocating slabobj_ext array from its own slabHarry Yoo1-7/+53
2026-01-31mm: add WQ_PERCPU to alloc_workqueue usersMarco Crivellari1-1/+2
2026-01-29slub: avoid list_lock contention from __refill_objects_any()Vlastimil Babka1-6/+13
2026-01-29mm/slub: cleanup and repurpose some stat itemsVlastimil Babka1-57/+26
2026-01-29mm/slub: remove DEACTIVATE_TO_* stat itemsVlastimil Babka1-16/+15
2026-01-29slab: remove frozen slab checks from __slab_free()Vlastimil Babka1-18/+4
2026-01-29slab: update overview commentsVlastimil Babka1-74/+67
2026-01-29slab: refill sheaves from all nodesVlastimil Babka1-31/+106
2026-01-29slab: remove unused PREEMPT_RT specific macrosVlastimil Babka1-23/+1
2026-01-29slab: remove struct kmem_cache_cpuVlastimil Babka1-281/+23
2026-01-29slab: simplify kmalloc_nolock()Vlastimil Babka1-115/+29
2026-01-29slab: remove defer_deactivate_slab()Vlastimil Babka1-37/+21
2026-01-29slab: remove the do_slab_free() fastpathVlastimil Babka1-136/+13
2026-01-29slab: remove SLUB_CPU_PARTIALVlastimil Babka1-301/+18
2026-01-29slab: remove cpu (partial) slabs usage from allocation pathsVlastimil Babka1-541/+87
2026-01-29slab: add optimized sheaf refill from partial listVlastimil Babka1-21/+272
2026-01-29slab: handle kmalloc sheaves bootstrapVlastimil Babka1-4/+84
2026-01-29slab: make percpu sheaves compatible with kmalloc_nolock()/kfree_nolock()Vlastimil Babka1-22/+60
2026-01-29slab: introduce percpu sheaves bootstrapVlastimil Babka1-41/+82
2026-01-29slab: add sheaves to most cachesVlastimil Babka1-4/+52
2026-01-27slub: keep empty main sheaf as spare in __pcs_replace_empty_main()Hao Li1-1/+4
2026-01-27mm/slab: move and refactor __kmem_cache_alias()Vlastimil Babka1-29/+1
2026-01-27mm/slab: fix false lockdep warning in __kfree_rcu_sheaf()Harry Yoo1-0/+20
2026-01-27slab: replace cache_from_obj() with inline checksVlastimil Babka1-23/+33
2026-01-21slab: fix kmalloc_nolock() context check for PREEMPT_RTSwaraj Gaikwad1-2/+6
2025-12-20Merge tag 'slab-for-6.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-0/+2
2025-12-11Merge tag 'slab-for-6.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-25/+30
2025-12-10mm/slub: reset KASAN tag in defer_free() before accessing freed memoryDeepanshu Kartikey1-0/+2
2025-12-07mm/slab: introduce kvfree_rcu_barrier_on_cache() for cache destructionHarry Yoo1-25/+30
2025-12-05Merge tag 'mm-stable-2025-12-03-21-26' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-12/+19
2025-12-03Merge tag 'slab-for-6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/vb...Linus Torvalds1-342/+352
2025-11-25Merge branch 'slab/for-6.19/freelist_aba_t_cleanups' into slab/for-nextVlastimil Babka1-86/+69
2025-11-25Merge branch 'slab/for-6.19/memdesc_prep' into slab/for-nextVlastimil Babka1-69/+70
2025-11-25Merge branch 'slab/for-6.19/sheaves_cleanups' into slab/for-nextVlastimil Babka1-158/+173
2025-11-25slab: Remove unnecessary call to compound_head() in alloc_from_pcs()Matthew Wilcox (Oracle)1-1/+1
2025-11-16mm: remove reference to destructor in comment in calculate_sizes()William Kucharski1-5/+5
2025-11-16mm: kvmalloc: add non-blocking support for vmallocUladzislau Rezki (Sony)1-6/+13
2025-11-16mm: fix some typos in mm modulejianyun.gao1-1/+1
2025-11-13Merge tag 'slab-for-6.18-rc6' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-2/+6
2025-11-13mm/slub: fix memory leak in free_to_pcs_bulk()Harry Yoo1-2/+6
2025-11-13slab: Remove folio references from kfree_nolock()Matthew Wilcox (Oracle)1-4/+2
2025-11-13slab: Remove folio references from build_detached_freelist()Matthew Wilcox (Oracle)1-7/+9
2025-11-13slab: Remove folio references from __do_krealloc()Matthew Wilcox (Oracle)1-7/+7
2025-11-13slab: Remove folio references from kfree()Matthew Wilcox (Oracle)1-5/+5
2025-11-13slab: Remove folio references from kvfree_rcu_cb()Matthew Wilcox (Oracle)1-7/+7
2025-11-13slab: Remove folio references from free_large_kmalloc()Matthew Wilcox (Oracle)1-10/+10
2025-11-13slab: Remove folio references from ___kmalloc_large_node()Matthew Wilcox (Oracle)1-7/+7
2025-11-13slab: Remove folio references in slab alloc/freeMatthew Wilcox (Oracle)1-13/+13
2025-11-13slab: Remove folio references in memcg_slab_post_charge()Matthew Wilcox (Oracle)1-11/+12
2025-11-13mm: simplify list initialization in barn_shrink()Baolin Liu1-5/+2
2025-11-13slab: use struct freelist_counters as parameters in relevant functionsVlastimil Babka1-74/+52
2025-11-10slab: use struct freelist_counters for local variables instead of struct slabVlastimil Babka1-5/+4
2025-11-10slab: turn freelist_aba_t to a struct and fully define counters thereVlastimil Babka1-3/+5
2025-11-10slab: separate struct freelist_tid from kmem_cache_cpuVlastimil Babka1-11/+15
2025-11-09codetag: debug: handle existing CODETAG_EMPTY in mark_objexts_empty for slabo...Hao Ge1-1/+5
2025-11-07slab: prevent recursive kmalloc() in alloc_empty_sheaf()Vlastimil Babka1-10/+26
2025-11-07slab: make __slab_free() more clearVlastimil Babka1-17/+45
2025-11-07slub: remove CONFIG_SLUB_TINY specific code pathsVlastimil Babka1-103/+4
2025-11-07slab: handle pfmemalloc slabs properly with sheavesVlastimil Babka1-14/+55
2025-11-07slab: move kfence_alloc() out of internal bulk allocVlastimil Babka1-8/+36
2025-11-06slab: prevent infinite loop in kmalloc_nolock() with debuggingVlastimil Babka1-1/+5
2025-10-30slab: use new API for remaining command line parametersPetr Tesarik1-23/+34
2025-10-27slab: convert setup_slub_debug() to use __core_param_cb()Petr Tesarik1-6/+9
2025-10-27slab: constify slab debug stringsPetr Tesarik1-9/+10
2025-10-24slab: Fix obj_ext mistakenly considered NULL due to race conditionHao Ge1-5/+11
2025-10-23slab: fix slab accounting imbalance due to defer_deactivate_slab()Vlastimil Babka1-3/+5
2025-10-21slab: Avoid race on slab->obj_exts in alloc_slab_obj_extsHao Ge1-3/+6
2025-10-16slab: reset slab->obj_ext when freeing and it is OBJEXTS_ALLOC_FAILHao Ge1-1/+8
2025-10-14slab: fix clearing freelist in free_deferred_objects()Vlastimil Babka1-3/+4
2025-10-11slab: fix barn NULL pointer dereference on memoryless nodesVlastimil Babka1-14/+51
2025-10-07slub: Don't call lockdep_unregister_key() for immature kmem_cache.Kuniyuki Iwashima1-1/+2
2025-10-06slab: Fix using this_cpu_ptr() in preemptible contextRan Xiaokai1-2/+9
2025-10-03slab: Add allow_spin check to eliminate kmemleak warningsRan Xiaokai1-1/+2
2025-10-02Merge tag 'mm-stable-2025-10-01-19-00' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-32/+65
2025-09-29Merge series "slab: Re-entrant kmalloc_nolock()"Vlastimil Babka1-50/+476
2025-09-29Merge series "SLUB percpu sheaves"Vlastimil Babka1-46/+1698
2025-09-29slab: Introduce kmalloc_nolock() and kfree_nolock().Alexei Starovoitov1-49/+455
2025-09-29slab: Reuse first bit for OBJEXTS_ALLOC_FAILAlexei Starovoitov1-1/+1
2025-09-29slab: Make slub local_(try)lock more precise for LOCKDEPAlexei Starovoitov1-0/+20
2025-09-29slab: allow NUMA restricted allocations to use percpu sheavesVlastimil Babka1-7/+46
2025-09-29slab: skip percpu sheaves for remote object freeingVlastimil Babka1-6/+35
2025-09-29slab: determine barn status racily outside of lockVlastimil Babka1-7/+20
2025-09-29slab: sheaf prefilling for guaranteed allocationsVlastimil Babka1-0/+263
2025-09-29maple_tree: remove redundant __GFP_NOWARNQianfeng Rong0-0/+0
2025-09-29slab: add sheaf support for batching kfree_rcu() operationsVlastimil Babka1-2/+266
2025-09-28alloc_tag: fix boot failure due to NULL pointer dereferenceRan Xiaokai1-9/+9
2025-09-26slab: add opt-in caching layer of percpu sheavesVlastimil Babka1-45/+1091
2025-09-26slab: simplify init_kmem_cache_nodes() error handlingVlastimil Babka1-3/+1
2025-09-21alloc_tag: mark inaccurate allocation counters in /proc/allocinfo outputSuren Baghdasaryan1-0/+2
2025-09-16slab: mark slab->obj_exts allocation failures unconditionallySuren Baghdasaryan1-2/+1
2025-09-15slab: don't validate slab pointer in free_debug_processing()Vlastimil Babka1-5/+0
2025-09-15slab: validate slab before using it in alloc_single_from_partial()Vlastimil Babka1-8/+12
2025-09-15slab: move validate_slab_ptr() from alloc_consistency_checks() to its callerVlastimil Babka1-16/+14
2025-09-15slab: move validate_slab_ptr() from check_slab() to its callersVlastimil Babka1-5/+20
2025-09-15slab: wrap debug slab validation in validate_slab_ptr()Vlastimil Babka1-3/+12
2025-09-15slab: Remove dead code in free_consistency_checks()Matthew Wilcox (Oracle)1-4/+1
2025-09-13slab: use memdesc_flags_tMatthew Wilcox (Oracle)1-9/+9
2025-09-13mm/slub: allow to set node and align in k[v]reallocVitaly Wool1-14/+45
2025-09-10mm/slub: Refactor note_cmpxchg_failure for better readabilityYe Liu1-6/+5
2025-09-10mm/slub: Replace sort_r() with sort() for debugfs stack trace sortingKuan-Wei Chiu1-3/+3
2025-09-10mm/slub: Fix cmp_loc_by_count() to return 0 when counts are equalKuan-Wei Chiu1-4/+1
2025-09-01mm: slub: avoid wake up kswapd in set_track_prepareyangshiguang1-10/+20
2025-08-25mm/slub: avoid accessing metadata when pointer is invalid in object_err()Li Qiong1-1/+6
2025-08-04Merge tag 'printk-for-6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-3/+2
2025-07-31Merge tag 'mm-stable-2025-07-30-15-25' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-49/+12
2025-07-13mm,slub: use node-notifier instead of memory-notifierOscar Salvador1-19/+10
2025-07-13mm,slub: do not special case N_NORMAL nodes for slab_nodesOscar Salvador1-31/+3
2025-06-18slub: Fix a documentation build error for krealloc()Jonathan Corbet1-5/+5
2025-06-18slab: Add SL_pfmemalloc flagMatthew Wilcox (Oracle)1-0/+21
2025-06-18slab: Add SL_partial flagMatthew Wilcox (Oracle)1-12/+10
2025-06-18slab: Rename slab->__page_flags to slab->flagsMatthew Wilcox (Oracle)1-3/+15
2025-06-17mm, slab: use frozen pages for large kmallocVlastimil Babka1-3/+3
2025-06-17mm, slab: restore NUMA policy support for large kmallocVlastimil Babka1-1/+6
2025-06-09slab: Decouple slab_debug and no_hash_pointersKees Cook1-3/+2
2025-06-04Merge tag 'slab-for-6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/vb...Linus Torvalds1-6/+9
2025-05-26mm: slub: only warn once when allocating slab obj extensions failsUsama Arif1-3/+4
2025-04-24mm, slab: clean up slab->obj_exts alwaysZhenhua Huang1-22/+8
2025-04-22mm: kvmalloc: make kmalloc fast path real fast pathMichal Hocko1-3/+5
2025-04-14slab: ensure slab->obj_exts is clear in a newly allocated slab pageSuren Baghdasaryan1-0/+10
2025-04-01Merge tag 'mm-stable-2025-03-30-16-52' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-19/+32
2025-03-20Merge branch 'slab/for-6.15/kfree_rcu_tiny' into slab/for-nextVlastimil Babka1-0/+46
2025-03-16alloc_tag: uninline code gated by mem_alloc_profiling_key in slab allocatorSuren Baghdasaryan1-19/+32
2025-03-06slub: Handle freelist cycle in on_freelist()Lilith Gkini1-4/+12
2025-03-04slab: Mark large folios for debugging purposesMatthew Wilcox (Oracle)1-0/+7
2025-03-04mm, slab: cleanup slab_bug() parametersVlastimil Babka1-10/+18
2025-03-04mm: slub: call WARN() when detecting a slab corruptionHyesoo Yu1-18/+29
2025-03-04mm: slub: Print the broken data before restoring themHyesoo Yu1-18/+14
2025-03-04slab: Achieve better kmalloc caches randomization in kvmallocGONG Ruiqi1-3/+3
2025-03-04slab: Adjust placement of __kvmalloc_node_noprofGONG Ruiqi1-0/+162
2025-02-05rcu, slab: use a regular callback function for kvfree_rcuVlastimil Babka1-0/+46
2025-01-28Merge tag 'driver-core-6.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-8/+5
2025-01-15slub: don't mess with ->d_nameAl Viro1-8/+5
2025-01-13mm/migrate: remove slab checks in isolate_movable_page()Hyeonggon Yoo1-4/+0
2025-01-13kasan: make kasan_record_aux_stack_noalloc() the default behaviourPeter Zijlstra1-1/+1
2025-01-13slab: allocate frozen pagesMatthew Wilcox (Oracle)1-3/+3
2024-12-10memcg: slub: fix SUnreclaim for post charged objectsShakeel Butt1-3/+18
2024-11-16Merge branch 'slab/for-6.13/features' into slab/for-nextVlastimil Babka1-0/+43
2024-11-16mm/slab: Allow cache creation to proceed even if sysfs registration failsHyeonggon Yoo1-8/+18
2024-11-16mm/slub: Avoid list corruption when removing a slab from the full listyuan.gao1-1/+8
2024-11-16mm/slub: Improve redzone check and zeroing for krealloc()Feng Tang1-22/+58
2024-11-16mm/slub: Consider kfence case for get_orig_size()Feng Tang1-0/+3
2024-10-29SLUB: Add support for per object memory policiesChristoph Lameter1-0/+43
2024-10-29mm/slub: Move krealloc() and related code to slub.cFeng Tang1-0/+84
2024-10-29mm/kasan: Don't store metadata inside kmalloc object when slub_debug_orig_siz...Feng Tang1-17/+0