Hi Linus,
please pull the latest slab updates from:
git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git tags/slab-for-6.9
I'm not aware of any merge conflicts this time.
Thanks,
Vlastimil
======================================
- 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.
----------------------------------------------------------------
Chengming Zhou (7):
mm/slub: directly load freelist from cpu partial slab in the likely case
mm/slub: remove full list manipulation for non-debug slab
mm/slub: remove unused parameter in next_freelist_entry()
mm, slab: remove unused object_size parameter in kmem_cache_flags()
mm, slab: fix the comment of cpu partial list
mm, slab: remove the corner case of inc_slabs_node()
slab: remove PARTIAL_NODE slab_state
Vlastimil Babka (6):
mm, slab: deprecate SLAB_MEM_SPREAD flag
mm, slab: use an enum to define SLAB_ cache creation flags
mm, slab, kasan: replace kasan_never_merge() with SLAB_NO_MERGE
mm, slab: remove memcg_from_slab_obj()
Merge branch 'slab/for-6.9/optimize-get-freelist' into slab/for-linus
Merge branch 'slab/for-6.9/slab-flag-cleanups' into slab/for-linus
Xiaolei Wang (1):
mm/slab: Fix a kmemleak in kmem_cache_destroy()
Xiongwei Song (4):
Documentation: kernel-parameters: remove noaliencache
mm/slub: unify all sl[au]b parameters with "slab_$param"
mm/slub: replace slub_$params with slab_$params in slub.rst
mm/slub: make the description of slab_min_objects helpful in doc
Zheng Yejian (1):
mm/slub: remove parameter 'flags' in create_kmalloc_caches()
Documentation/admin-guide/kernel-parameters.txt | 75 +++++++--------
Documentation/mm/slub.rst | 60 ++++++------
drivers/misc/lkdtm/heap.c | 2 +-
include/linux/kasan.h | 6 --
include/linux/slab.h | 97 ++++++++++++++------
mm/Kconfig.debug | 6 +-
mm/kasan/generic.c | 22 ++---
mm/slab.h | 11 +--
mm/slab_common.c | 29 +++---
mm/slub.c | 116 ++++++++++--------------
tools/include/linux/slab.h | 1 -
11 files changed, 210 insertions(+), 215 deletions(-)
On Tue, 12 Mar 2024 at 02:55, Vlastimil Babka <[email protected]> wrote:
>
> 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.
I already had the patch ready to go:
https://lore.kernel.org/all/CAHk-=wji0u+OOtmAOD-5JV3SXcRJF___k_+8XNKmak0yd5vW1Q@mail.gmail.com/
so I just did a "git stash apply" and got rid of the final stragglers.
No need to have various random maintainers have to worry about a flag
that hasn't had any meaning since 6.7, and very little before that
either.
Linus
The pull request you sent on Tue, 12 Mar 2024 10:55:33 +0100:
> git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git tags/slab-for-6.9
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/0ea680eda6c9f59a9512f8b0dd4abf229bb9f6cf
Thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html
On 2024/3/13 11:54, Linus Torvalds wrote:
> On Tue, 12 Mar 2024 at 02:55, Vlastimil Babka <[email protected]> wrote:
>>
>> 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.
>
> I already had the patch ready to go:
>
> https://lore.kernel.org/all/CAHk-=wji0u+OOtmAOD-5JV3SXcRJF___k_+8XNKmak0yd5vW1Q@mail.gmail.com/
>
> so I just did a "git stash apply" and got rid of the final stragglers.
> No need to have various random maintainers have to worry about a flag
> that hasn't had any meaning since 6.7, and very little before that
> either.
Great! It's better. Thanks for doing this.
On 3/13/24 04:54, Linus Torvalds wrote:
> On Tue, 12 Mar 2024 at 02:55, Vlastimil Babka <[email protected]> wrote:
>>
>> 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.
>
> I already had the patch ready to go:
>
> https://lore.kernel.org/all/CAHk-=wji0u+OOtmAOD-5JV3SXcRJF___k_+8XNKmak0yd5vW1Q@mail.gmail.com/
Aha, missed that thread.
> so I just did a "git stash apply" and got rid of the final stragglers.
> No need to have various random maintainers have to worry about a flag
> that hasn't had any meaning since 6.7, and very little before that
> either.
Noted, thanks a lot.
> Linus