]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Merge tag 'slab-for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka...
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 13 Mar 2024 03:14:54 +0000 (20:14 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 13 Mar 2024 03:14:54 +0000 (20:14 -0700)
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

1  2 
Documentation/admin-guide/kernel-parameters.txt
mm/kasan/generic.c

index b3b5ce13de2b3f5435edcad8b0baa24b7e19d3b3,aefd68cec2e96f9ccc91eb239b81e41887654805..26534c8e927a5acd04dfa22eae4b9f0fdd669258
                        emulation library even if a 387 maths coprocessor
                        is present.
  
 -      no4lvl          [RISCV] Disable 4-level and 5-level paging modes. Forces
 -                      kernel to use 3-level paging instead.
 +      no4lvl          [RISCV,EARLY] Disable 4-level and 5-level paging modes.
 +                      Forces kernel to use 3-level paging instead.
  
 -      no5lvl          [X86-64,RISCV] Disable 5-level paging mode. Forces
 +      no5lvl          [X86-64,RISCV,EARLY] Disable 5-level paging mode. Forces
                        kernel to use 4-level paging instead.
  
-       noaliencache    [MM, NUMA, SLAB] Disables the allocation of alien
-                       caches in the slab allocator.  Saves per-node memory,
-                       but will impact performance.
        noalign         [KNL,ARM]
  
 -      noaltinstr      [S390] Disables alternative instructions patching
 -                      (CPU alternatives feature).
 +      noaltinstr      [S390,EARLY] Disables alternative instructions
 +                      patching (CPU alternatives feature).
  
 -      noapic          [SMP,APIC] Tells the kernel to not make use of any
 +      noapic          [SMP,APIC,EARLY] Tells the kernel to not make use of any
                        IOAPICs that may be present in the system.
  
        noautogroup     Disable scheduler automatic task group creation.
Simple merge