Re: [PATCH 0/7] remove SLOB and allow kfree() with kmem_cache_alloc()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 3/12/23 10:51, Mike Rapoport wrote:
> Hi Vlastimil,
> 
> On Fri, Mar 10, 2023 at 11:32:02AM +0100, Vlastimil Babka wrote:
>> Also in git:
>> https://git.kernel.org/vbabka/h/slab-remove-slob-v1r1
>> 
>> The SLOB allocator was deprecated in 6.2 so I think we can start
>> exposing the complete removal in for-next and aim at 6.4 if there are no
>> complaints.
>> 
>> Besides code cleanup, the main immediate benefit will be allowing
>> kfree() family of function to work on kmem_cache_alloc() objects (Patch
>> 7), which was incompatible with SLOB.
>> 
>> This includes kfree_rcu() so I've updated the comment there to remove
>> the mention of potential future addition of kmem_cache_free_rcu() as
>> there should be no need for that now.
>> 
>> Otherwise it's straightforward. Patch 2 is a cleanup in net area, that I
>> can either handle in slab tree or submit in net after SLOB is removed.
>> Another cleanup in tomoyo is already in the tomoyo tree as that didn't
>> need to wait until SLOB removal.
>> 
>> Vlastimil Babka (7):
>>   mm/slob: remove CONFIG_SLOB
>>   net: skbuff: remove SLOB-specific ifdefs
>>   mm, page_flags: remove PG_slob_free
>>   mm, pagemap: remove SLOB and SLQB from comments and documentation
>>   mm/slab: remove CONFIG_SLOB code from slab common code
>>   mm/slob: remove slob.c
>>   mm/slab: document kfree() as allowed for kmem_cache_alloc() objects
>> 
>>  Documentation/admin-guide/mm/pagemap.rst     |   6 +-
>>  Documentation/core-api/memory-allocation.rst |  15 +-
>>  fs/proc/page.c                               |   5 +-
>>  include/linux/page-flags.h                   |   4 -
>>  include/linux/rcupdate.h                     |   6 +-
>>  include/linux/slab.h                         |  39 -
>>  init/Kconfig                                 |   2 +-
>>  kernel/configs/tiny.config                   |   1 -
>>  mm/Kconfig                                   |  22 -
>>  mm/Makefile                                  |   1 -
>>  mm/slab.h                                    |  61 --
>>  mm/slab_common.c                             |   7 +-
>>  mm/slob.c                                    | 757 -------------------
>>  net/core/skbuff.c                            |  16 -
>>  tools/mm/page-types.c                        |   6 +-
>>  15 files changed, 23 insertions(+), 925 deletions(-)
>>  delete mode 100644 mm/slob.c
> 
> git grep -in slob still gives a couple of matches. I've dropped the
> irrelevant ones it it left me with these:
> 
> CREDITS:14:D: SLOB slab allocator

I think it wouldn't be fair to remove that one as it's a historical record
of some sort?

> kernel/trace/ring_buffer.c:358: * Also stolen from mm/slob.c. Thanks to Mathieu Desnoyers for pointing
> mm/Kconfig:251:    SLOB allocator and is not recommended for systems with more than

Yeah that's a help text for SLUB_TINY which can still help those who migrate
from SLOB.

> mm/Makefile:25:KCOV_INSTRUMENT_slob.o := n

That one I will remove, thanks!

> Except the comment in kernel/trace/ring_buffer.c all are trivial.
> 
> As for the comment in ring_buffer.c, it looks completely irrelevant at this
> point.
> 
> @Steve?
> 
>> -- 
>> 2.39.2
>> 
> 




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux