mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] mm: slub: Fix compilation without CONFIG_SLUB_DEBUG
@ 2024-04-23 12:40 Bert Karwatzki
  2024-04-23 17:37 ` [External] : " Jianfeng Wang
  0 siblings, 1 reply; 2+ messages in thread
From: Bert Karwatzki @ 2024-04-23 12:40 UTC (permalink / raw)
  To: Jianfeng Wang; +Cc: Bert Karwatzki, linux-kernel

Since the introduction of count_partial_free_approx the compilation of
linux fails with an implicit declaration of function ‘node_nr_objs’
because count_partial_free_approx is compiled when SLAB_SUPPORTS_SYSFS
is defined even without CONFIG_SLUB_DEBUG. As count_partial_free_approx
is only used when CONFIG_SLUB_DEBUG is defined it should only be
compiled in that case.

Fixes: commit 1c5610f451be ("slub: introduce count_partial_free_approx()")
Signed-off-by: Bert Karwatzki <spasswolf@web.de>
---
 mm/slub.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/mm/slub.c b/mm/slub.c
index a3b6f05be2b9..a547ed041bc7 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -3226,6 +3226,7 @@ static inline int node_match(struct slab *slab, int node)
 }

 #ifdef CONFIG_SLUB_DEBUG
+#define MAX_PARTIAL_TO_SCAN 10000
 static int count_free(struct slab *slab)
 {
 	return slab->objects - slab->inuse;
@@ -3293,10 +3294,6 @@ static inline bool free_debug_processing(struct kmem_cache *s,

 	return checks_ok;
 }
-#endif /* CONFIG_SLUB_DEBUG */
-
-#if defined(CONFIG_SLUB_DEBUG) || defined(SLAB_SUPPORTS_SYSFS)
-#define MAX_PARTIAL_TO_SCAN 10000

 static unsigned long count_partial_free_approx(struct kmem_cache_node *n)
 {
@@ -3332,7 +3329,9 @@ static unsigned long count_partial_free_approx(struct kmem_cache_node *n)
 	spin_unlock_irqrestore(&n->list_lock, flags);
 	return x;
 }
+#endif /* CONFIG_SLUB_DEBUG */

+#if defined(CONFIG_SLUB_DEBUG) || defined(SLAB_SUPPORTS_SYSFS)
 static unsigned long count_partial(struct kmem_cache_node *n,
 					int (*get_count)(struct slab *))
 {
--
2.43.0


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [External] : [PATCH] mm: slub: Fix compilation without CONFIG_SLUB_DEBUG
  2024-04-23 12:40 [PATCH] mm: slub: Fix compilation without CONFIG_SLUB_DEBUG Bert Karwatzki
@ 2024-04-23 17:37 ` Jianfeng Wang
  0 siblings, 0 replies; 2+ messages in thread
From: Jianfeng Wang @ 2024-04-23 17:37 UTC (permalink / raw)
  To: Bert Karwatzki; +Cc: linux-kernel



On 4/23/24 5:40 AM, Bert Karwatzki wrote:
> Since the introduction of count_partial_free_approx the compilation of
> linux fails with an implicit declaration of function ‘node_nr_objs’
> because count_partial_free_approx is compiled when SLAB_SUPPORTS_SYSFS
> is defined even without CONFIG_SLUB_DEBUG. As count_partial_free_approx
> is only used when CONFIG_SLUB_DEBUG is defined it should only be
> compiled in that case.
> 

Hi Bert,

Thanks for noticing this.
The original patch was updated to fix it and was sent to the MM maillist.
It has been applied several hours ago.

Link: https://lore.kernel.org/linux-mm/20240423045554.15045-1-jianfeng.w.wang@oracle.com/T/#m6ec634d0d214bea8807deac8cb15bf27dd47743d

> Fixes: commit 1c5610f451be ("slub: introduce count_partial_free_approx()")
> Signed-off-by: Bert Karwatzki <spasswolf@web.de>
> ---
>  mm/slub.c | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/mm/slub.c b/mm/slub.c
> index a3b6f05be2b9..a547ed041bc7 100644
> --- a/mm/slub.c
> +++ b/mm/slub.c
> @@ -3226,6 +3226,7 @@ static inline int node_match(struct slab *slab, int node)
>  }
> 
>  #ifdef CONFIG_SLUB_DEBUG
> +#define MAX_PARTIAL_TO_SCAN 10000
>  static int count_free(struct slab *slab)
>  {
>  	return slab->objects - slab->inuse;
> @@ -3293,10 +3294,6 @@ static inline bool free_debug_processing(struct kmem_cache *s,
> 
>  	return checks_ok;
>  }
> -#endif /* CONFIG_SLUB_DEBUG */
> -
> -#if defined(CONFIG_SLUB_DEBUG) || defined(SLAB_SUPPORTS_SYSFS)
> -#define MAX_PARTIAL_TO_SCAN 10000
> 
>  static unsigned long count_partial_free_approx(struct kmem_cache_node *n)
>  {
> @@ -3332,7 +3329,9 @@ static unsigned long count_partial_free_approx(struct kmem_cache_node *n)
>  	spin_unlock_irqrestore(&n->list_lock, flags);
>  	return x;
>  }
> +#endif /* CONFIG_SLUB_DEBUG */
> 
> +#if defined(CONFIG_SLUB_DEBUG) || defined(SLAB_SUPPORTS_SYSFS)
>  static unsigned long count_partial(struct kmem_cache_node *n,
>  					int (*get_count)(struct slab *))
>  {
> --
> 2.43.0
> 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-04-23 17:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-23 12:40 [PATCH] mm: slub: Fix compilation without CONFIG_SLUB_DEBUG Bert Karwatzki
2024-04-23 17:37 ` [External] : " Jianfeng Wang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®