• Linus Torvalds's avatar
    Merge tag 'slab-for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab · 0ea680ed
    Linus Torvalds authored
    Pull slab updates from Vlastimil Babka:
    
     - Freelist loading optimization (Chengming Zhou)
    
       When the per-cpu slab is depleted and a new one loaded from the cpu
       partial list, optimize the loading to avoid an irq enable/disable
       cycle. This results in a 3.5% performance improvement on the "perf
       bench sched messaging" test.
    
     - Kernel boot parameters cleanup after SLAB removal (Xiongwei Song)
    
       Due to two different main slab implementations we've had boot
       parameters prefixed either slab_ and slub_ with some later becoming
       an alias as both implementations gained the same functionality (i.e.
       slab_nomerge vs slub_nomerge). In order to eventually get rid of the
       implementation-specific names, the canonical and documented
       parameters are now all prefixed slab_ and the slub_ variants become
       deprecated but still working aliases.
    
     - SLAB_ kmem_cache creation flags cleanup (Vlastimil Babka)
    
       The flags had hardcoded #define values which became tedious and
       error-prone when adding new ones. Assign the values via an enum that
       takes care of providing unique bit numbers. Also deprecate
       SLAB_MEM_SPREAD which was only used by SLAB, so it's a no-op since
       SLAB removal. Assign it an explicit zero value. The removals of the
       flag usage are handled independently in the respective subsystems,
       with a final removal of any leftover usage planned for the next
       release.
    
     - Misc cleanups and fixes (Chengming Zhou, Xiaolei Wang, Zheng Yejian)
    
       Includes removal of unused code or function parameters and a fix of a
       memleak.
    
    * tag 'slab-for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab:
      slab: remove PARTIAL_NODE slab_state
      mm, slab: remove memcg_from_slab_obj()
      mm, slab: remove the corner case of inc_slabs_node()
      mm/slab: Fix a kmemleak in kmem_cache_destroy()
      mm, slab, kasan: replace kasan_never_merge() with SLAB_NO_MERGE
      mm, slab: use an enum to define SLAB_ cache creation flags
      mm, slab: deprecate SLAB_MEM_SPREAD flag
      mm, slab: fix the comment of cpu partial list
      mm, slab: remove unused object_size parameter in kmem_cache_flags()
      mm/slub: remove parameter 'flags' in create_kmalloc_caches()
      mm/slub: remove unused parameter in next_freelist_entry()
      mm/slub: remove full list manipulation for non-debug slab
      mm/slub: directly load freelist from cpu partial slab in the likely case
      mm/slub: make the description of slab_min_objects helpful in doc
      mm/slub: replace slub_$params with slab_$params in slub.rst
      mm/slub: unify all sl[au]b parameters with "slab_$param"
      Documentation: kernel-parameters: remove noaliencache
    0ea680ed
generic.c 15.6 KB