aboutsummaryrefslogtreecommitdiffstats
path: root/mm/slub.c
AgeCommit message (Expand)AuthorFilesLines
8 daysmm/slub: avoid zeroing outside-object freepointer for single freeNicolas Bouchinet1-23/+29
2024-03-12Merge branch 'slab/for-6.9/slab-flag-cleanups' into slab/for-linusVlastimil Babka1-3/+3
2024-03-12Merge branch 'slab/for-6.9/optimize-get-freelist' into slab/for-linusVlastimil Babka1-18/+14
2024-03-04mm, slab: remove memcg_from_slab_obj()Vlastimil Babka1-5/+0
2024-03-01mm, slab: remove the corner case of inc_slabs_node()Chengming Zhou1-11/+2
2024-03-01mm/slab: Fix a kmemleak in kmem_cache_destroy()Xiaolei Wang1-4/+2
2024-02-26mm, slab: use an enum to define SLAB_ cache creation flagsVlastimil Babka1-3/+3
2024-02-21mm, slab: fix the comment of cpu partial listChengming Zhou1-1/+1
2024-02-21mm, slab: remove unused object_size parameter in kmem_cache_flags()Chengming Zhou1-6/+3
2024-01-30mm/slub: remove parameter 'flags' in create_kmalloc_caches()Zheng Yejian1-1/+1
2024-01-23mm/slub: remove unused parameter in next_freelist_entry()Chengming Zhou1-4/+3
2024-01-23mm/slub: remove full list manipulation for non-debug slabChengming Zhou1-4/+0
2024-01-23mm/slub: directly load freelist from cpu partial slab in the likely caseChengming Zhou1-10/+11
2024-01-22mm/slub: unify all sl[au]b parameters with "slab_$param"Xiongwei Song1-18/+23
2024-01-09Merge tag 'mm-stable-2024-01-08-15-31' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-31/+38
2024-01-08mm, treewide: rename MAX_ORDER to MAX_PAGE_ORDERKirill A. Shutemov1-2/+2
2024-01-05slub: use alloc_pages_node() in alloc_slab_page()Matthew Wilcox (Oracle)1-5/+1
2024-01-04Merge branch 'slab/for-6.8/slub-hook-cleanups' into slab/for-nextVlastimil Babka1-64/+679
2023-12-29kasan: rename and document kasan_(un)poison_object_dataAndrey Konovalov1-2/+2
2023-12-28mm/slub: free KFENCE objects in slab_free_hook()Vlastimil Babka1-12/+10
2023-12-10slub, kasan: improve interaction of KASAN and slub_debug poisoningAndrey Konovalov1-15/+26
2023-12-07mm/slub: handle bulk and single object freeing separatelyVlastimil Babka1-24/+35
2023-12-07mm/slub: introduce __kmem_cache_free_bulk() without free hooksVlastimil Babka1-9/+47
2023-12-07mm/slub: fix bulk alloc and free statsVlastimil Babka1-1/+10
2023-12-06mm/slub: optimize free fast path code layoutVlastimil Babka1-16/+24
2023-12-06mm/slub: optimize alloc fastpath code layoutVlastimil Babka1-35/+54
2023-12-06mm/slub: remove slab_alloc() and __kmem_cache_alloc_lru() wrappersVlastimil Babka1-16/+9
2023-12-06mm/slab: move kmalloc() functions from slab_common.c to slub.cVlastimil Babka1-8/+118
2023-12-06mm/slab: move kfree() from slab_common.c to slub.cVlastimil Babka1-5/+46
2023-12-06mm/slab: move struct kmem_cache_node from slab.h to slub.cVlastimil Babka1-0/+27
2023-12-06mm/slab: move memcg related functions from slab.h to slub.cVlastimil Babka1-0/+205
2023-12-06mm/slab: move pre/post-alloc hooks from slab.h to slub.cVlastimil Babka1-0/+81
2023-12-06mm/slab: move struct kmem_cache_cpu declaration to slub.cVlastimil Babka1-0/+54
2023-12-05mm/slab, docs: switch mm-api docs generation from slab.c to slub.cVlastimil Babka1-0/+21
2023-12-05slub: Update frozen slabs documentations in the sourceChengming Zhou1-4/+18
2023-12-05slub: Rename all *unfreeze_partials* functions to *put_partials*Chengming Zhou1-17/+17
2023-12-05slub: Optimize deactivate_slab()Chengming Zhou1-53/+26
2023-12-04slub: Delay freezing of partial slabsChengming Zhou1-91/+24
2023-12-04slub: Introduce freeze_slab()Chengming Zhou1-0/+27
2023-12-04slub: Prepare __slab_free() for unfrozen partial slab out of node partial listChengming Zhou1-0/+11
2023-11-22slub: Keep track of whether slub is on the per-node partial listChengming Zhou1-1/+23
2023-11-13slub: Change get_partial() interfaces to return slabChengming Zhou1-30/+33
2023-11-13slub: Reflow ___slab_alloc()Chengming Zhou1-16/+15
2023-10-02mm/slub: refactor calculate_order() and calc_slab_order()Vlastimil Babka1-11/+12
2023-10-02mm/slub: attempt to find layouts up to 1/2 waste in calculate_order()Vlastimil Babka1-10/+4
2023-10-02mm/slub: remove min_objects loop from calculate_order()Vlastimil Babka1-20/+18
2023-10-02mm/slub: simplify the last resort slab order calculationVlastimil Babka1-1/+1
2023-10-02mm/slub: add sanity check for slub_min/max_order cmdline setupFeng Tang1-0/+6
2023-07-14mm/slub: remove freelist_dereference()Vlastimil Babka1-9/+6
2023-07-14mm/slub: remove redundant kasan_reset_tag() from freelist_ptr calculationsVlastimil Babka1-16/+6
2023-07-11mm/slub: refactor freelist to use custom typeJann Horn1-11/+32
2023-06-29Merge tag 'slab-for-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/vba...Linus Torvalds1-29/+18
2023-06-05slub: Replace cmpxchg_double()Peter Zijlstra1-57/+82
2023-05-22slub: Don't read nr_slabs and total_objects directlyXiongwei Song1-7/+6
2023-05-22slub: Remove slabs_node() functionXiongwei Song1-13/+3
2023-05-22slub: Remove CONFIG_SMP defined checkXiongwei Song1-1/+1
2023-05-22slub: Put objects_show() into CONFIG_SLUB_DEBUG enabled blockXiongwei Song1-7/+7
2023-05-22slub: Correct the error code when slab_kset is NULLXiongwei Song1-1/+1
2023-04-27Merge tag 'mm-stable-2023-04-27-15-30' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-5/+4
2023-04-18mm: vmscan: refactor updating current->reclaim_stateYosry Ahmed1-3/+2
2023-04-05mm, treewide: redefine MAX_ORDER sanelyKirill A. Shutemov1-3/+3
2023-04-05mm/slub: fix MAX_ORDER usage in calculate_order()Kirill A. Shutemov1-1/+1
2023-03-13mm: slub: make kobj_type structure constantThomas Weißschuh1-1/+1
2023-02-23Merge tag 'mm-stable-2023-02-20-13-37' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-3/+3
2023-02-21Merge branch 'slab/for-6.3/fixes' into slab/for-linusVlastimil Babka1-5/+6
2023-02-16lib/stackdepot, mm: rename stack_depot_want_early_initAndrey Konovalov1-2/+2
2023-02-08mm, slab/slub: Ensure kmem_cache_alloc_bulk() is available earlyThomas Gleixner1-4/+5
2023-02-06mm/slub: fix memory leak with using debugfs_lookup()Greg Kroah-Hartman1-1/+1
2023-01-18mm: introduce folio_is_pfmemallocSidhartha Kumar1-1/+1
2023-01-13mm/sl{a,u}b: fix wrong usages of folio_page() for getting head pagesSeongJae Park1-1/+1
2022-12-13Merge tag 'mm-stable-2022-12-13' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-6/+1
2022-12-12Merge tag 'linux-kselftest-kunit-next-6.2-rc1' of git://git.kernel.org/pub/sc...Linus Torvalds1-1/+2
2022-12-12Merge tag 'random-6.2-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/ke...Linus Torvalds1-1/+1
2022-12-12mm: slub: test: Use the kunit_get_current_test() functionDavid Gow1-1/+2
2022-12-01Merge branch 'slub-tiny-v1r6' into slab/for-nextVlastimil Babka1-134/+288
2022-12-01mm, slub: don't aggressively inline with CONFIG_SLUB_TINYVlastimil Babka1-4/+10
2022-12-01mm, slub: remove percpu slabs with CONFIG_SLUB_TINYVlastimil Babka1-3/+99
2022-12-01mm, slub: split out allocations from pre/post hooksVlastimil Babka1-50/+80
2022-11-27mm, slub: refactor free debug processingVlastimil Babka1-71/+83
2022-11-27mm, slub: lower the default slub_max_order with CONFIG_SLUB_TINYVlastimil Babka1-1/+2
2022-11-27mm, slub: retain no free slabs on partial list with CONFIG_SLUB_TINYVlastimil Babka1-0/+5
2022-11-27mm, slub: disable SYSFS support with CONFIG_SLUB_TINYVlastimil Babka1-6/+6
2022-11-27mm, slab: ignore hardened usercopy parameters when disabledVlastimil Babka1-0/+4
2022-11-21Merge branch 'slab/for-6.2/kmalloc_redzone' into slab/for-nextVlastimil Babka1-10/+54
2022-11-21Merge branch 'slab/for-6.2/fit_rcu_head' into slab/for-nextVlastimil Babka1-11/+15
2022-11-21Merge branch 'slab/for-6.2/slub-sysfs' into slab/for-nextVlastimil Babka1-8/+16
2022-11-21mm/migrate: make isolate_movable_page() skip slab pagesVlastimil Babka1-1/+5
2022-11-21mm/slub, percpu: correct the calculation of early percpu allocation sizeBaoquan He1-1/+2
2022-11-18treewide: use get_random_u32_below() instead of deprecated functionJason A. Donenfeld1-1/+1
2022-11-11mm/slub: extend redzone check to extra allocated kmalloc space than requestedFeng Tang1-5/+45
2022-11-10mm: kasan: Extend kasan_metadata_size() to also cover in-object sizeFeng Tang1-2/+2
2022-11-10mm/slub: only zero requested size of buffer for kzalloc when debug enabledFeng Tang1-3/+7
2022-11-08mm/slub.c: use hotplug_memory_notifier() directlyLiu Shixin1-6/+1
2022-10-24mm/slub: perform free consistency checks before call_rcuVlastimil Babka1-10/+10
2022-10-24mm/slub: remove dead code for debug caches on deactivate_slab()Hyeonggon Yoo1-14/+2
2022-10-24mm: Make failslab writable againAlexander Atanasov1-1/+15
2022-10-24mm: slub: make slab_sysfs_init() a late_initcallRasmus Villemoes1-2/+1
2022-10-24mm: slub: remove dead and buggy code from sysfs_slab_add()Rasmus Villemoes1-5/+0
2022-10-11treewide: use prandom_u32_max() when possible, part 1Jason A. Donenfeld1-1/+1
2022-10-10Merge tag 'mm-stable-2022-10-08' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-0/+41
2022-10-03mm: kmsan: call KMSAN hooks from SLUB codeAlexander Potapenko1-0/+17
2022-09-30Merge branch 'slab/for-6.1/slub_validation_locking' into slab/for-nextVlastimil Babka1-11/+14
2022-09-30mm/slub: fix a slab missed to be freed problemFeng Tang1-11/+14
2022-09-29Merge branch 'slab/for-6.1/slub_debug_waste' into slab/for-nextVlastimil Babka1-37/+117
2022-09-29Merge branch 'slab/for-6.1/trivial' into slab/for-nextVlastimil Babka1-3/+6
2022-09-26mm/slub: clean up create_unique_id()Chao Yu1-3/+6
2022-09-23mm/slub: enable debugging memory wasting of kmallocFeng Tang1-37/+117
2022-09-23Merge branch 'slab/for-6.1/slub_validation_locking' into slab/for-nextVlastimil Babka1-198/+276
2022-09-23Merge branch 'slab/for-6.1/common_kmalloc' into slab/for-nextVlastimil Babka1-225/+13
2022-09-23Merge branch 'slab/for-6.1/trivial' into slab/for-nextVlastimil Babka1-7/+2
2022-09-22mm: slub: fix flush_cpu_slab()/__free_slab() invocations in task context.Maurizio Lombardi1-1/+8
2022-09-17slub: Make PREEMPT_RT support less convolutedThomas Gleixner1-32/+24
2022-09-17mm/slub: simplify __cmpxchg_double_slab() and slab_[un]lock()Vlastimil Babka1-27/+12
2022-09-17mm/slub: convert object_map_lock to non-raw spinlockVlastimil Babka1-30/+6
2022-09-17mm/slub: remove slab_lock() usage for debug operationsVlastimil Babka1-11/+8
2022-09-17mm/slub: restrict sysfs validation to debug caches and make it safeVlastimil Babka1-52/+180
2022-09-16kasan: call kasan_malloc() from __kmalloc_*track_caller()Peter Collingbourne1-0/+4
2022-09-11kfence: add sysfs interface to disable kfence for selected slabs.Imran Khan1-0/+26
2022-09-08mm/slub: fix to return errno if kmalloc() failsChao Yu1-1/+4
2022-09-01mm/slab_common: drop kmem_alloc & avoid dereferencing fields when not usingHyeonggon Yoo1-5/+3
2022-09-01mm/slab_common: unify NUMA and UMA version of tracepointsHyeonggon Yoo1-3/+3
2022-09-01mm/sl[au]b: cleanup kmem_cache_alloc[_node]_trace()Hyeonggon Yoo1-27/+0
2022-09-01mm/sl[au]b: generalize kmalloc subsystemHyeonggon Yoo1-87/+0
2022-08-25mm/slub: move free_debug_processing() furtherVlastimil Babka1-57/+57
2022-08-24mm/sl[au]b: introduce common alloc/free functions without tracepointHyeonggon Yoo1-0/+13
2022-08-24mm/slab: kmalloc: pass requests larger than order-1 page to page allocatorHyeonggon Yoo1-19/+0
2022-08-24mm/slab_common: kmalloc_node: pass large requests to page allocatorHyeonggon Yoo1-1/+1
2022-08-24mm/slub: move kmalloc_large_node() to slab_common.cHyeonggon Yoo1-25/+0
2022-08-24mm/sl[au]b: factor out __do_kmalloc_node()Hyeonggon Yoo1-52/+19
2022-08-24mm/slab_common: cleanup kmalloc_track_caller()Hyeonggon Yoo1-22/+0
2022-08-24mm/slab_common: remove CONFIG_NUMA ifdefs for common kmalloc functionsHyeonggon Yoo1-6/+0
2022-08-23mm/slub: Remove the unneeded result variableye xingchen1-7/+2
2022-07-20mm/sl[au]b: use own bulk free function when bulk alloc failedHyeonggon Yoo1-2/+2
2022-07-04mm: slab: optimize memcg_slab_free_hook()Muchun Song1-44/+22
2022-07-04mm/tracing: add 'accounted' entry into output of allocation tracepointsVasily Averin1-10/+10
2022-07-04mm/slub: Simplify __kmem_cache_alias()Xiongwei Song1-5/+3
2022-06-13mm/slub: add missing TID updates on slab deactivationJann Horn1-0/+2
2022-06-13mm/slub: Move the stackdepot related allocation out of IRQ-off section.Sebastian Andrzej Siewior1-7/+34
2022-05-25Merge tag 'slab-for-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/vb...Linus Torvalds1-66/+108
2022-05-23Merge branches 'slab/for-5.19/stackdepot' and 'slab/for-5.19/refactor' into s...Vlastimil Babka1-46/+91
2022-05-02mm/slub: remove unused kmem_cache_order_objects maxMiaohe Lin1-2/+0
2022-04-20mm/slub: remove unneeded return value of slab_pad_checkMiaohe Lin1-7/+5
2022-04-15mm, kfence: support kmem_dump_obj() for KFENCE objectsMarco Elver1-1/+1
2022-04-13mm/slub: remove meaningless node check in ___slab_alloc()JaeSang Yoo1-1/+0
2022-04-13mm/slub: remove duplicate flag in allocate_slab()Jiyoup Kim1-1/+1
2022-04-13mm/slub: remove unused parameter in setup_object*()JaeSang Yoo1-11/+8
2022-04-06mm/slub: sort debugfs output by frequency of stack tracesOliver Glitta1-0/+16
2022-04-06mm/slub: distinguish and print stack traces in debugfs filesOliver Glitta1-2/+26
2022-04-06mm/slub: use stackdepot to save stack trace in objectsOliver Glitta1-31/+40
2022-04-06mm/slub: move struct track init out of set_track()Vlastimil Babka1-17/+15
2022-04-06mm/slub, kunit: Make slub_kunit unaffected by user specified flagsHyeonggon Yoo1-0/+3
2022-03-23Merge tag 'slab-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/vb...Linus Torvalds1-78/+52
2022-03-22mm: introduce kmem_cache_alloc_lruMuchun Song1-14/+28
2022-03-21Merge branch 'slab/for-5.18/cleanups' into slab/for-linusVlastimil Babka1-63/+42
2022-03-10mm: slub: Delete useless parameter of alloc_slab_page()Xiongwei Song1-4/+4
2022-03-09mm/slub: remove forced_order parameter in calculate_sizesMiaohe Lin1-7/+4
2022-03-09mm/slub: refactor deactivate_slab()Hyeonggon Yoo1-52/+39
2022-03-09mm/slub: limit number of node partial slabs only in cache creationHyeonggon Yoo1-11/+3
2022-03-07mm/slub: use helper macro __ATTR_XX_MODE for SLAB_ATTR(_RO)Lianjie Zhang1-4/+2
2022-01-06mm/slub: Define struct slab fields for CONFIG_SLUB_CPU_PARTIAL only when enabledVlastimil Babka1-2/+6
2022-01-06mm/kasan: Convert to struct folio and struct slabMatthew Wilcox (Oracle)1-1/+1
2022-01-06mm: Convert struct page to struct slab in functions used by other subsystemsVlastimil Babka1-1/+1
2022-01-06mm/slub: Finish struct page to struct slab conversionVlastimil Babka1-53/+52
2022-01-06mm/slub: Convert most struct page to struct slab by spatchVlastimil Babka1-436/+436
2022-01-06mm/slub: Convert pfmemalloc_match() to take a struct slabMatthew Wilcox (Oracle)1-19/+6
2022-01-06mm/slub: Convert __free_slab() to use struct slabVlastimil Babka1-14/+13
2022-01-06mm/slub: Convert alloc_slab_page() to return a struct slabVlastimil Babka1-10/+16
2022-01-06mm/slub: Convert print_page_info() to print_slab_info()Matthew Wilcox (Oracle)1-6/+7
2022-01-06mm/slub: Convert __slab_lock() and __slab_unlock() to struct slabVlastimil Babka1-7/+11
2022-01-06mm/slub: Convert kfree() to use a struct slabMatthew Wilcox (Oracle)1-13/+16
2022-01-06mm/slub: Convert detached_freelist to use a struct slabMatthew Wilcox (Oracle)1-14/+17
2022-01-06mm: Convert check_heap_object() to use struct slabMatthew Wilcox (Oracle)1-5/+5
2022-01-06mm: Use struct slab in kmem_obj_info()Matthew Wilcox (Oracle)1-6/+7
2022-01-06mm: Convert __ksize() to struct slabMatthew Wilcox (Oracle)1-7/+5
2022-01-06mm: Convert [un]account_slab_page() to struct slabMatthew Wilcox (Oracle)1-2/+2
2022-01-06mm: Split slab into its own typeMatthew Wilcox (Oracle)1-4/+4
2022-01-06mm/slub: Make object_err() staticVlastimil Babka1-15/+15
2021-12-10mm/slub: fix endianness bug for alloc/free_traces attributesGerald Schaefer1-6/+9
2021-11-20mm: emit the "free" trace report before freeing memory in kmem_cache_free()Yunfeng Ye1-1/+1
2021-11-06Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-46/+63
2021-11-06mm: remove HARDENED_USERCOPY_FALLBACKStephen Kitt1-14/+0
2021-11-06mm, slub: use prefetchw instead of prefetchHyeonggon Yoo1-1/+1
2021-11-06mm/slub: increase default cpu partial list sizesVlastimil Babka1-4/+4
2021-11-06mm, slub: change percpu partial accounting from objects to pagesVlastimil Babka1-30/+59
2021-11-06slub: add back check for free nonslab objectsKefeng Wang1-1/+3
2021-11-02Merge tag 'printk-for-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-2/+2
2021-10-27vsprintf: Make %pGp print the hex valueMatthew Wilcox (Oracle)1-2/+2
2021-10-18mm, slub: fix incorrect memcg slab count for bulk freeMiaohe Lin1-1/+3
2021-10-18mm, slub: fix potential use-after-free in slab_debugfs_fopsMiaohe Lin1-2/+4
2021-10-18mm, slub: fix potential memoryleak in kmem_cache_open()Miaohe Lin1-1/+1
2021-10-18mm, slub: fix mismatch between reconstructed freelist depth and cntMiaohe Lin1-2/+9
2021-10-18mm, slub: fix two bugs in slab_debug_trace_open()Miaohe Lin1-1/+7
2021-09-04mm, slub: convert kmem_cpu_slab protection to local_lockVlastimil Babka1-35/+111
2021-09-04mm, slub: use migrate_disable() on PREEMPT_RTVlastimil Babka1-9/+30
2021-09-04mm, slub: protect put_cpu_partial() with disabled irqs instead of cmpxchgVlastimil Babka1-37/+44
2021-09-04mm, slub: make slab_lock() disable irqs with PREEMPT_RTVlastimil Babka1-17/+41
2021-09-04mm: slub: make object_map_lock a raw_spinlock_tSebastian Andrzej Siewior1-3/+3
2021-09-04mm: slub: move flush_cpu_slab() invocations __free_slab() invocations out of ...Sebastian Andrzej Siewior1-16/+78
2021-09-04mm, slab: split out the cpu offline variant of flush_slab()Vlastimil Babka1-2/+10
2021-09-04mm, slub: don't disable irqs in slub_cpu_dead()Vlastimil Babka1-5/+1