All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Rapoport <rppt@kernel.org>
To: Christian Brauner <brauner@kernel.org>
Cc: Vlastimil Babka <vbabka@suse.cz>, Jens Axboe <axboe@kernel.dk>,
	Jann Horn <jannh@google.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	linux-mm@kvack.org, linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH v2 14/15] slab: remove kmem_cache_create_rcu()
Date: Wed, 4 Sep 2024 08:15:23 +0300	[thread overview]
Message-ID: <Ztfs6_Rvnbvap0Cr@kernel.org> (raw)
In-Reply-To: <20240903-work-kmem_cache_args-v2-14-76f97e9a4560@kernel.org>

On Tue, Sep 03, 2024 at 04:20:55PM +0200, Christian Brauner wrote:
> Since we have kmem_cache_setup() and have ported kmem_cache_create_rcu()
> users over to it is unused and can be removed.
> 
> Signed-off-by: Christian Brauner <brauner@kernel.org>

Reviewed-by: Mike Rapoport (Microsoft) <rppt@kernel.org>

> ---
>  include/linux/slab.h |  3 ---
>  mm/slab_common.c     | 43 -------------------------------------------
>  2 files changed, 46 deletions(-)
> 
> diff --git a/include/linux/slab.h b/include/linux/slab.h
> index 4292d67094c3..1176b30cd4b2 100644
> --- a/include/linux/slab.h
> +++ b/include/linux/slab.h
> @@ -270,9 +270,6 @@ struct kmem_cache *kmem_cache_create_usercopy(const char *name,
>  			slab_flags_t flags,
>  			unsigned int useroffset, unsigned int usersize,
>  			void (*ctor)(void *));
> -struct kmem_cache *kmem_cache_create_rcu(const char *name, unsigned int size,
> -					 unsigned int freeptr_offset,
> -					 slab_flags_t flags);
>  
>  #define kmem_cache_create(__name, __object_size, __args, ...)           \
>  	_Generic((__args),                                              \
> diff --git a/mm/slab_common.c b/mm/slab_common.c
> index 418459927670..9133b9fafcb1 100644
> --- a/mm/slab_common.c
> +++ b/mm/slab_common.c
> @@ -420,49 +420,6 @@ struct kmem_cache *__kmem_cache_create(const char *name, unsigned int size,
>  }
>  EXPORT_SYMBOL(__kmem_cache_create);
>  
> -/**
> - * kmem_cache_create_rcu - Create a SLAB_TYPESAFE_BY_RCU cache.
> - * @name: A string which is used in /proc/slabinfo to identify this cache.
> - * @size: The size of objects to be created in this cache.
> - * @freeptr_offset: The offset into the memory to the free pointer
> - * @flags: SLAB flags
> - *
> - * Cannot be called within an interrupt, but can be interrupted.
> - *
> - * See kmem_cache_create() for an explanation of possible @flags.
> - *
> - * By default SLAB_TYPESAFE_BY_RCU caches place the free pointer outside
> - * of the object. This might cause the object to grow in size. Callers
> - * that have a reason to avoid this can specify a custom free pointer
> - * offset in their struct where the free pointer will be placed.
> - *
> - * Note that placing the free pointer inside the object requires the
> - * caller to ensure that no fields are invalidated that are required to
> - * guard against object recycling (See SLAB_TYPESAFE_BY_RCU for
> - * details.).
> - *
> - * Using zero as a value for @freeptr_offset is valid. To request no
> - * offset UINT_MAX must be specified.
> - *
> - * Note that @ctor isn't supported with custom free pointers as a @ctor
> - * requires an external free pointer.
> - *
> - * Return: a pointer to the cache on success, NULL on failure.
> - */
> -struct kmem_cache *kmem_cache_create_rcu(const char *name, unsigned int size,
> -					 unsigned int freeptr_offset,
> -					 slab_flags_t flags)
> -{
> -	struct kmem_cache_args kmem_args = {
> -		.freeptr_offset		= freeptr_offset,
> -		.use_freeptr_offset	= true,
> -	};
> -
> -	return __kmem_cache_create_args(name, size, &kmem_args,
> -					flags | SLAB_TYPESAFE_BY_RCU);
> -}
> -EXPORT_SYMBOL(kmem_cache_create_rcu);
> -
>  static struct kmem_cache *kmem_buckets_cache __ro_after_init;
>  
>  /**
> 
> -- 
> 2.45.2
> 

-- 
Sincerely yours,
Mike.

  reply	other threads:[~2024-09-04  5:18 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-03 14:20 [PATCH v2 00/15] slab: add struct kmem_cache_args Christian Brauner
2024-09-03 14:20 ` [PATCH v2 01/15] sl*b: s/__kmem_cache_create/do_kmem_cache_create/g Christian Brauner
2024-09-04  4:52   ` Mike Rapoport
2024-09-03 14:20 ` [PATCH v2 02/15] slab: add struct kmem_cache_args Christian Brauner
2024-09-04  4:54   ` Mike Rapoport
2024-09-04  8:13   ` Vlastimil Babka
2024-09-04  9:06     ` Christian Brauner
2024-09-04 15:16   ` Mike Rapoport
2024-09-04 15:48     ` Christian Brauner
2024-09-04 16:16       ` Mike Rapoport
2024-09-04 16:53         ` Christian Brauner
2024-09-04 15:49     ` Vlastimil Babka
2024-09-04 16:16       ` Mike Rapoport
2024-09-04 16:22         ` Vlastimil Babka
2024-09-04 18:21           ` Christian Brauner
2024-09-04 18:53             ` Linus Torvalds
2024-09-04 20:10               ` Christian Brauner
2024-09-03 14:20 ` [PATCH v2 03/15] slab: port kmem_cache_create() to " Christian Brauner
2024-09-04  4:55   ` Mike Rapoport
2024-09-03 14:20 ` [PATCH v2 04/15] slab: port kmem_cache_create_rcu() " Christian Brauner
2024-09-04  4:55   ` Mike Rapoport
2024-09-03 14:20 ` [PATCH v2 05/15] slab: port kmem_cache_create_usercopy() " Christian Brauner
2024-09-04  4:56   ` Mike Rapoport
2024-09-04  8:14   ` Vlastimil Babka
2024-09-04  8:59     ` Christian Brauner
2024-09-03 14:20 ` [PATCH v2 06/15] slab: pass struct kmem_cache_args to create_cache() Christian Brauner
2024-09-04  4:59   ` Mike Rapoport
2024-09-03 14:20 ` [PATCH v2 07/15] slub: pull kmem_cache_open() into do_kmem_cache_create() Christian Brauner
2024-09-04  5:02   ` Mike Rapoport
2024-09-03 14:20 ` [PATCH v2 08/15] slab: pass struct kmem_cache_args to do_kmem_cache_create() Christian Brauner
2024-09-04  5:04   ` Mike Rapoport
2024-09-03 14:20 ` [PATCH v2 09/15] sl*b: remove rcu_freeptr_offset from struct kmem_cache Christian Brauner
2024-09-04  5:08   ` Mike Rapoport
2024-09-04  8:16   ` Vlastimil Babka
2024-09-04  8:58     ` Christian Brauner
2024-09-03 14:20 ` [PATCH v2 10/15] slab: port KMEM_CACHE() to struct kmem_cache_args Christian Brauner
2024-09-04  5:08   ` Mike Rapoport
2024-09-03 14:20 ` [PATCH v2 11/15] slab: port KMEM_CACHE_USERCOPY() " Christian Brauner
2024-09-04  5:09   ` Mike Rapoport
2024-09-03 14:20 ` [PATCH v2 12/15] slab: create kmem_cache_create() compatibility layer Christian Brauner
2024-09-04  5:14   ` Mike Rapoport
2024-09-04  9:44     ` [PATCH 17/16] slab: make kmem_cache_create_usercopy() static inline Christian Brauner
2024-09-04  9:44     ` [PATCH 18/16] slab: make __kmem_cache_create() " Christian Brauner
2024-09-04  9:45     ` [PATCH v2 12/15] slab: create kmem_cache_create() compatibility layer Christian Brauner
2024-09-04 10:50       ` Vlastimil Babka
2024-09-04 11:38         ` Christian Brauner
2024-09-04 13:33           ` Vlastimil Babka
2024-09-04 14:44             ` Christian Brauner
2024-09-04 15:11               ` Mike Rapoport
2024-09-04 15:38                 ` Christian Brauner
2024-09-04 15:40                 ` Vlastimil Babka
2024-09-03 14:20 ` [PATCH v2 13/15] file: port to struct kmem_cache_args Christian Brauner
2024-09-04  5:15   ` Mike Rapoport
2024-09-03 14:20 ` [PATCH v2 14/15] slab: remove kmem_cache_create_rcu() Christian Brauner
2024-09-04  5:15   ` Mike Rapoport [this message]
2024-09-04  8:18   ` Vlastimil Babka
2024-09-04  8:55     ` Christian Brauner
2024-09-03 14:20 ` [PATCH v2 15/15] io_uring: port to struct kmem_cache_args Christian Brauner
2024-09-04  5:16   ` Mike Rapoport
2024-09-04  8:20   ` Vlastimil Babka
2024-09-04  8:50     ` Christian Brauner
2024-09-03 19:22 ` [PATCH v2 00/15] slab: add " Kees Cook
2024-09-03 19:25 ` Jens Axboe
2024-09-06  6:49   ` Christian Brauner
2024-09-04  8:25 ` Vlastimil Babka
2024-09-04  8:42   ` Christian Brauner
2024-09-04  9:05     ` Vlastimil Babka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Ztfs6_Rvnbvap0Cr@kernel.org \
    --to=rppt@kernel.org \
    --cc=axboe@kernel.dk \
    --cc=brauner@kernel.org \
    --cc=jannh@google.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=torvalds@linux-foundation.org \
    --cc=vbabka@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.