All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] Some tiny clean ups for SLUB
@ 2023-04-13 14:34 sxwjean
  2023-04-13 14:34 ` [PATCH 1/5] slub: Correct the error code when slab_kset is NULL sxwjean
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: sxwjean @ 2023-04-13 14:34 UTC (permalink / raw)
  To: cl, penberg, rientjes, iamjoonsoo.kim, akpm, vbabka,
	roman.gushchin, 42.hyeyoo, keescook
  Cc: linux-mm, linux-kernel, linux-hardening, Xiongwei Song

From: Xiongwei Song <xiongwei.song@windriver.com>

Hi,

Just clean ups, no any functionality changed. Thanks for your time.

Xiongwei Song (5):
  slub: Correct the error code when slab_kset is NULL
  slub: Put objects_show() into CONFIG_SLUB_DEBUG enabled block
  slub: Remove CONFIG_SMP defined check
  slub: Remove slabs_node() function
  slub: Don't read nr_slabs and total_objects directly

 mm/slub.c | 45 +++++++++++++++++----------------------------
 1 file changed, 17 insertions(+), 28 deletions(-)

-- 
2.30.2


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

* [PATCH 1/5] slub: Correct the error code when slab_kset is NULL
  2023-04-13 14:34 [PATCH 0/5] Some tiny clean ups for SLUB sxwjean
@ 2023-04-13 14:34 ` sxwjean
  2023-04-13 14:34 ` [PATCH 2/5] slub: Put objects_show() into CONFIG_SLUB_DEBUG enabled block sxwjean
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: sxwjean @ 2023-04-13 14:34 UTC (permalink / raw)
  To: cl, penberg, rientjes, iamjoonsoo.kim, akpm, vbabka,
	roman.gushchin, 42.hyeyoo, keescook
  Cc: linux-mm, linux-kernel, linux-hardening, Xiongwei Song

From: Xiongwei Song <xiongwei.song@windriver.com>

The -ENOSYS is inproper when kset_create_and_add call returns a NULL
pointer, the failure more likely is because lacking memory, hence
returning -ENOMEM is better.

Signed-off-by: Xiongwei Song <xiongwei.song@windriver.com>
---
 mm/slub.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/slub.c b/mm/slub.c
index 28ca576d988d..5cc56f780241 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -6225,7 +6225,7 @@ static int __init slab_sysfs_init(void)
 	if (!slab_kset) {
 		mutex_unlock(&slab_mutex);
 		pr_err("Cannot register slab subsystem.\n");
-		return -ENOSYS;
+		return -ENOMEM;
 	}
 
 	slab_state = FULL;
-- 
2.30.2


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

* [PATCH 2/5] slub: Put objects_show() into CONFIG_SLUB_DEBUG enabled block
  2023-04-13 14:34 [PATCH 0/5] Some tiny clean ups for SLUB sxwjean
  2023-04-13 14:34 ` [PATCH 1/5] slub: Correct the error code when slab_kset is NULL sxwjean
@ 2023-04-13 14:34 ` sxwjean
  2023-04-13 17:53   ` kernel test robot
  2023-04-13 14:34 ` [PATCH 3/5] slub: Remove CONFIG_SMP defined check sxwjean
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 9+ messages in thread
From: sxwjean @ 2023-04-13 14:34 UTC (permalink / raw)
  To: cl, penberg, rientjes, iamjoonsoo.kim, akpm, vbabka,
	roman.gushchin, 42.hyeyoo, keescook
  Cc: linux-mm, linux-kernel, linux-hardening, Xiongwei Song

From: Xiongwei Song <xiongwei.song@windriver.com>

The SO_ALL|SO_OBJECTS pair is only used when enabling CONFIG_SLUB_DEBUG
option, so the objects_show() definition should be surrounded by
CONFIG_SLUB_DEBUG too.

Signed-off-by: Xiongwei Song <xiongwei.song@windriver.com>
---
 mm/slub.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/mm/slub.c b/mm/slub.c
index 5cc56f780241..b8afe12ebba1 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -5613,12 +5613,6 @@ static ssize_t cpu_slabs_show(struct kmem_cache *s, char *buf)
 }
 SLAB_ATTR_RO(cpu_slabs);
 
-static ssize_t objects_show(struct kmem_cache *s, char *buf)
-{
-	return show_slab_objects(s, buf, SO_ALL|SO_OBJECTS);
-}
-SLAB_ATTR_RO(objects);
-
 static ssize_t objects_partial_show(struct kmem_cache *s, char *buf)
 {
 	return show_slab_objects(s, buf, SO_PARTIAL|SO_OBJECTS);
@@ -5713,6 +5707,12 @@ static ssize_t total_objects_show(struct kmem_cache *s, char *buf)
 }
 SLAB_ATTR_RO(total_objects);
 
+static ssize_t objects_show(struct kmem_cache *s, char *buf)
+{
+	return show_slab_objects(s, buf, SO_ALL|SO_OBJECTS);
+}
+SLAB_ATTR_RO(objects);
+
 static ssize_t sanity_checks_show(struct kmem_cache *s, char *buf)
 {
 	return sysfs_emit(buf, "%d\n", !!(s->flags & SLAB_CONSISTENCY_CHECKS));
-- 
2.30.2


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

* [PATCH 3/5] slub: Remove CONFIG_SMP defined check
  2023-04-13 14:34 [PATCH 0/5] Some tiny clean ups for SLUB sxwjean
  2023-04-13 14:34 ` [PATCH 1/5] slub: Correct the error code when slab_kset is NULL sxwjean
  2023-04-13 14:34 ` [PATCH 2/5] slub: Put objects_show() into CONFIG_SLUB_DEBUG enabled block sxwjean
@ 2023-04-13 14:34 ` sxwjean
  2023-04-13 14:34 ` [PATCH 4/5] slub: Remove slabs_node() function sxwjean
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: sxwjean @ 2023-04-13 14:34 UTC (permalink / raw)
  To: cl, penberg, rientjes, iamjoonsoo.kim, akpm, vbabka,
	roman.gushchin, 42.hyeyoo, keescook
  Cc: linux-mm, linux-kernel, linux-hardening, Xiongwei Song

From: Xiongwei Song <xiongwei.song@windriver.com>

As CONFIG_SMP is one of dependencies of CONFIG_SLUB_CPU_PARTIAL, so if
CONFIG_SLUB_CPU_PARTIAL is defined then CONFIG_SMP must be defined,
no need to check CONFIG_SMP definition here.

Signed-off-by: Xiongwei Song <xiongwei.song@windriver.com>
---
 mm/slub.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/slub.c b/mm/slub.c
index b8afe12ebba1..d897df8fe7e7 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -5641,7 +5641,7 @@ static ssize_t slabs_cpu_partial_show(struct kmem_cache *s, char *buf)
 	objects = (slabs * oo_objects(s->oo)) / 2;
 	len += sysfs_emit_at(buf, len, "%d(%d)", objects, slabs);
 
-#if defined(CONFIG_SLUB_CPU_PARTIAL) && defined(CONFIG_SMP)
+#ifdef CONFIG_SLUB_CPU_PARTIAL
 	for_each_online_cpu(cpu) {
 		struct slab *slab;
 
-- 
2.30.2


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

* [PATCH 4/5] slub: Remove slabs_node() function
  2023-04-13 14:34 [PATCH 0/5] Some tiny clean ups for SLUB sxwjean
                   ` (2 preceding siblings ...)
  2023-04-13 14:34 ` [PATCH 3/5] slub: Remove CONFIG_SMP defined check sxwjean
@ 2023-04-13 14:34 ` sxwjean
  2023-04-13 14:34 ` [PATCH 5/5] slub: Don't read nr_slabs and total_objects directly sxwjean
  2023-04-18  7:50 ` [PATCH 0/5] Some tiny clean ups for SLUB Vlastimil Babka
  5 siblings, 0 replies; 9+ messages in thread
From: sxwjean @ 2023-04-13 14:34 UTC (permalink / raw)
  To: cl, penberg, rientjes, iamjoonsoo.kim, akpm, vbabka,
	roman.gushchin, 42.hyeyoo, keescook
  Cc: linux-mm, linux-kernel, linux-hardening, Xiongwei Song

From: Xiongwei Song <xiongwei.song@windriver.com>

When traversing nodes one by one, the get_node() function called in
for_each_kmem_cache_node macro, no need to call get_node() again in
slabs_node(), just reading nr_slabs field should be enough. However, the
node_nr_slabs() function can do this. Hence, the slabs_node() function
is not needed anymore.

Signed-off-by: Xiongwei Song <xiongwei.song@windriver.com>
---
 mm/slub.c | 16 +++-------------
 1 file changed, 3 insertions(+), 13 deletions(-)

diff --git a/mm/slub.c b/mm/slub.c
index d897df8fe7e7..33b4fec6bc7a 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -1344,14 +1344,6 @@ static void remove_full(struct kmem_cache *s, struct kmem_cache_node *n, struct
 	list_del(&slab->slab_list);
 }
 
-/* Tracking of the number of slabs for debugging purposes */
-static inline unsigned long slabs_node(struct kmem_cache *s, int node)
-{
-	struct kmem_cache_node *n = get_node(s, node);
-
-	return atomic_long_read(&n->nr_slabs);
-}
-
 static inline unsigned long node_nr_slabs(struct kmem_cache_node *n)
 {
 	return atomic_long_read(&n->nr_slabs);
@@ -1722,8 +1714,6 @@ slab_flags_t kmem_cache_flags(unsigned int object_size,
 
 #define disable_higher_order_debug 0
 
-static inline unsigned long slabs_node(struct kmem_cache *s, int node)
-							{ return 0; }
 static inline unsigned long node_nr_slabs(struct kmem_cache_node *n)
 							{ return 0; }
 static inline void inc_slabs_node(struct kmem_cache *s, int node,
@@ -4599,7 +4589,7 @@ bool __kmem_cache_empty(struct kmem_cache *s)
 	struct kmem_cache_node *n;
 
 	for_each_kmem_cache_node(s, node, n)
-		if (n->nr_partial || slabs_node(s, node))
+		if (n->nr_partial || node_nr_slabs(n))
 			return false;
 	return true;
 }
@@ -4616,7 +4606,7 @@ int __kmem_cache_shutdown(struct kmem_cache *s)
 	/* Attempt to free all objects */
 	for_each_kmem_cache_node(s, node, n) {
 		free_partial(s, n);
-		if (n->nr_partial || slabs_node(s, node))
+		if (n->nr_partial || node_nr_slabs(n))
 			return 1;
 	}
 	return 0;
@@ -4829,7 +4819,7 @@ static int __kmem_cache_do_shrink(struct kmem_cache *s)
 		list_for_each_entry_safe(slab, t, &discard, slab_list)
 			free_slab(s, slab);
 
-		if (slabs_node(s, node))
+		if (node_nr_slabs(n))
 			ret = 1;
 	}
 
-- 
2.30.2


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

* [PATCH 5/5] slub: Don't read nr_slabs and total_objects directly
  2023-04-13 14:34 [PATCH 0/5] Some tiny clean ups for SLUB sxwjean
                   ` (3 preceding siblings ...)
  2023-04-13 14:34 ` [PATCH 4/5] slub: Remove slabs_node() function sxwjean
@ 2023-04-13 14:34 ` sxwjean
  2023-04-18  7:50 ` [PATCH 0/5] Some tiny clean ups for SLUB Vlastimil Babka
  5 siblings, 0 replies; 9+ messages in thread
From: sxwjean @ 2023-04-13 14:34 UTC (permalink / raw)
  To: cl, penberg, rientjes, iamjoonsoo.kim, akpm, vbabka,
	roman.gushchin, 42.hyeyoo, keescook
  Cc: linux-mm, linux-kernel, linux-hardening, Xiongwei Song

From: Xiongwei Song <xiongwei.song@windriver.com>

We have node_nr_slabs() to read nr_slabs, node_nr_objs() to read
total_objects in a kmem_cache_node, so no need to access the two
members directly.

Signed-off-by: Xiongwei Song <xiongwei.song@windriver.com>
---
 mm/slub.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/mm/slub.c b/mm/slub.c
index 33b4fec6bc7a..2c3af399d9d6 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -5157,9 +5157,9 @@ static int validate_slab_node(struct kmem_cache *s,
 		validate_slab(s, slab, obj_map);
 		count++;
 	}
-	if (count != atomic_long_read(&n->nr_slabs)) {
+	if (count != node_nr_slabs(n)) {
 		pr_err("SLUB: %s %ld slabs counted but counter=%ld\n",
-		       s->name, count, atomic_long_read(&n->nr_slabs));
+		       s->name, count, node_nr_slabs(n));
 		slab_add_kunit_errors();
 	}
 
@@ -5443,12 +5443,11 @@ static ssize_t show_slab_objects(struct kmem_cache *s,
 		for_each_kmem_cache_node(s, node, n) {
 
 			if (flags & SO_TOTAL)
-				x = atomic_long_read(&n->total_objects);
+				x = node_nr_objs(n);
 			else if (flags & SO_OBJECTS)
-				x = atomic_long_read(&n->total_objects) -
-					count_partial(n, count_free);
+				x = node_nr_objs(n) - count_partial(n, count_free);
 			else
-				x = atomic_long_read(&n->nr_slabs);
+				x = node_nr_slabs(n);
 			total += x;
 			nodes[node] += x;
 		}
@@ -6387,7 +6386,7 @@ static int slab_debug_trace_open(struct inode *inode, struct file *filep)
 		unsigned long flags;
 		struct slab *slab;
 
-		if (!atomic_long_read(&n->nr_slabs))
+		if (!node_nr_slabs(n))
 			continue;
 
 		spin_lock_irqsave(&n->list_lock, flags);
-- 
2.30.2


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

* Re: [PATCH 2/5] slub: Put objects_show() into CONFIG_SLUB_DEBUG enabled block
  2023-04-13 14:34 ` [PATCH 2/5] slub: Put objects_show() into CONFIG_SLUB_DEBUG enabled block sxwjean
@ 2023-04-13 17:53   ` kernel test robot
  2023-04-17  7:12     ` Song, Xiongwei
  0 siblings, 1 reply; 9+ messages in thread
From: kernel test robot @ 2023-04-13 17:53 UTC (permalink / raw)
  To: sxwjean, cl, penberg, rientjes, iamjoonsoo.kim, akpm, vbabka,
	roman.gushchin, 42.hyeyoo, keescook
  Cc: oe-kbuild-all, linux-mm, linux-kernel, linux-hardening, Xiongwei Song

Hi,

kernel test robot noticed the following build errors:

[auto build test ERROR on vbabka-slab/for-next]
[also build test ERROR on linus/master v6.3-rc6 next-20230412]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/sxwjean-me-com/slub-Correct-the-error-code-when-slab_kset-is-NULL/20230413-223743
base:   git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git for-next
patch link:    https://lore.kernel.org/r/20230413143452.211250-3-sxwjean%40me.com
patch subject: [PATCH 2/5] slub: Put objects_show() into CONFIG_SLUB_DEBUG enabled block
config: i386-randconfig-a012-20230410 (https://download.01.org/0day-ci/archive/20230414/202304140110.lzjsYh25-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
reproduce (this is a W=1 build):
        # https://github.com/intel-lab-lkp/linux/commit/356157a450e3905cdc07fd0e77c4ac42974706c7
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review sxwjean-me-com/slub-Correct-the-error-code-when-slab_kset-is-NULL/20230413-223743
        git checkout 356157a450e3905cdc07fd0e77c4ac42974706c7
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 O=build_dir ARCH=i386 olddefconfig
        make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202304140110.lzjsYh25-lkp@intel.com/

All errors (new ones prefixed by >>):

>> mm/slub.c:5947:10: error: 'objects_attr' undeclared here (not in a function); did you mean 'object_size_attr'?
    5947 |         &objects_attr.attr,
         |          ^~~~~~~~~~~~
         |          object_size_attr


vim +5947 mm/slub.c

b84e04f1baeebe6 Imran Khan        2022-08-15  5939  
81819f0fc8285a2 Christoph Lameter 2007-05-06  5940  static struct attribute *slab_attrs[] = {
81819f0fc8285a2 Christoph Lameter 2007-05-06  5941  	&slab_size_attr.attr,
81819f0fc8285a2 Christoph Lameter 2007-05-06  5942  	&object_size_attr.attr,
81819f0fc8285a2 Christoph Lameter 2007-05-06  5943  	&objs_per_slab_attr.attr,
81819f0fc8285a2 Christoph Lameter 2007-05-06  5944  	&order_attr.attr,
73d342b169db700 David Rientjes    2009-02-22  5945  	&min_partial_attr.attr,
49e2258586b4236 Christoph Lameter 2011-08-09  5946  	&cpu_partial_attr.attr,
81819f0fc8285a2 Christoph Lameter 2007-05-06 @5947  	&objects_attr.attr,
205ab99dd103e3d Christoph Lameter 2008-04-14  5948  	&objects_partial_attr.attr,
81819f0fc8285a2 Christoph Lameter 2007-05-06  5949  	&partial_attr.attr,
81819f0fc8285a2 Christoph Lameter 2007-05-06  5950  	&cpu_slabs_attr.attr,
81819f0fc8285a2 Christoph Lameter 2007-05-06  5951  	&ctor_attr.attr,
81819f0fc8285a2 Christoph Lameter 2007-05-06  5952  	&aliases_attr.attr,
81819f0fc8285a2 Christoph Lameter 2007-05-06  5953  	&align_attr.attr,
81819f0fc8285a2 Christoph Lameter 2007-05-06  5954  	&hwcache_align_attr.attr,
81819f0fc8285a2 Christoph Lameter 2007-05-06  5955  	&reclaim_account_attr.attr,
81819f0fc8285a2 Christoph Lameter 2007-05-06  5956  	&destroy_by_rcu_attr.attr,
a5a84755c590041 Christoph Lameter 2010-10-05  5957  	&shrink_attr.attr,
49e2258586b4236 Christoph Lameter 2011-08-09  5958  	&slabs_cpu_partial_attr.attr,
ab4d5ed5eeda4f5 Christoph Lameter 2010-10-05  5959  #ifdef CONFIG_SLUB_DEBUG
a5a84755c590041 Christoph Lameter 2010-10-05  5960  	&total_objects_attr.attr,
a5a84755c590041 Christoph Lameter 2010-10-05  5961  	&slabs_attr.attr,
a5a84755c590041 Christoph Lameter 2010-10-05  5962  	&sanity_checks_attr.attr,
a5a84755c590041 Christoph Lameter 2010-10-05  5963  	&trace_attr.attr,
81819f0fc8285a2 Christoph Lameter 2007-05-06  5964  	&red_zone_attr.attr,
81819f0fc8285a2 Christoph Lameter 2007-05-06  5965  	&poison_attr.attr,
81819f0fc8285a2 Christoph Lameter 2007-05-06  5966  	&store_user_attr.attr,
53e15af03be4fda Christoph Lameter 2007-05-06  5967  	&validate_attr.attr,
ab4d5ed5eeda4f5 Christoph Lameter 2010-10-05  5968  #endif
81819f0fc8285a2 Christoph Lameter 2007-05-06  5969  #ifdef CONFIG_ZONE_DMA
81819f0fc8285a2 Christoph Lameter 2007-05-06  5970  	&cache_dma_attr.attr,
81819f0fc8285a2 Christoph Lameter 2007-05-06  5971  #endif
81819f0fc8285a2 Christoph Lameter 2007-05-06  5972  #ifdef CONFIG_NUMA
9824601ead957a2 Christoph Lameter 2008-01-07  5973  	&remote_node_defrag_ratio_attr.attr,
8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5974  #endif
8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5975  #ifdef CONFIG_SLUB_STATS
8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5976  	&alloc_fastpath_attr.attr,
8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5977  	&alloc_slowpath_attr.attr,
8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5978  	&free_fastpath_attr.attr,
8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5979  	&free_slowpath_attr.attr,
8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5980  	&free_frozen_attr.attr,
8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5981  	&free_add_partial_attr.attr,
8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5982  	&free_remove_partial_attr.attr,
8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5983  	&alloc_from_partial_attr.attr,
8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5984  	&alloc_slab_attr.attr,
8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5985  	&alloc_refill_attr.attr,
e36a2652d7d1ad9 Christoph Lameter 2011-06-01  5986  	&alloc_node_mismatch_attr.attr,
8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5987  	&free_slab_attr.attr,
8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5988  	&cpuslab_flush_attr.attr,
8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5989  	&deactivate_full_attr.attr,
8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5990  	&deactivate_empty_attr.attr,
8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5991  	&deactivate_to_head_attr.attr,
8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5992  	&deactivate_to_tail_attr.attr,
8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5993  	&deactivate_remote_frees_attr.attr,
03e404af26dc2ea Christoph Lameter 2011-06-01  5994  	&deactivate_bypass_attr.attr,
65c3376aaca96c6 Christoph Lameter 2008-04-14  5995  	&order_fallback_attr.attr,
b789ef518b2a723 Christoph Lameter 2011-06-01  5996  	&cmpxchg_double_fail_attr.attr,
b789ef518b2a723 Christoph Lameter 2011-06-01  5997  	&cmpxchg_double_cpu_fail_attr.attr,
49e2258586b4236 Christoph Lameter 2011-08-09  5998  	&cpu_partial_alloc_attr.attr,
49e2258586b4236 Christoph Lameter 2011-08-09  5999  	&cpu_partial_free_attr.attr,
8028dcea8abbbd5 Alex Shi          2012-02-03  6000  	&cpu_partial_node_attr.attr,
8028dcea8abbbd5 Alex Shi          2012-02-03  6001  	&cpu_partial_drain_attr.attr,
81819f0fc8285a2 Christoph Lameter 2007-05-06  6002  #endif
4c13dd3b48fcb6f Dmitry Monakhov   2010-02-26  6003  #ifdef CONFIG_FAILSLAB
4c13dd3b48fcb6f Dmitry Monakhov   2010-02-26  6004  	&failslab_attr.attr,
4c13dd3b48fcb6f Dmitry Monakhov   2010-02-26  6005  #endif
346907ceb9d11b9 Vlastimil Babka   2022-11-16  6006  #ifdef CONFIG_HARDENED_USERCOPY
8eb8284b4129061 David Windsor     2017-06-10  6007  	&usersize_attr.attr,
346907ceb9d11b9 Vlastimil Babka   2022-11-16  6008  #endif
b84e04f1baeebe6 Imran Khan        2022-08-15  6009  #ifdef CONFIG_KFENCE
b84e04f1baeebe6 Imran Khan        2022-08-15  6010  	&skip_kfence_attr.attr,
b84e04f1baeebe6 Imran Khan        2022-08-15  6011  #endif
4c13dd3b48fcb6f Dmitry Monakhov   2010-02-26  6012  
81819f0fc8285a2 Christoph Lameter 2007-05-06  6013  	NULL
81819f0fc8285a2 Christoph Lameter 2007-05-06  6014  };
81819f0fc8285a2 Christoph Lameter 2007-05-06  6015  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

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

* RE: [PATCH 2/5] slub: Put objects_show() into CONFIG_SLUB_DEBUG enabled block
  2023-04-13 17:53   ` kernel test robot
@ 2023-04-17  7:12     ` Song, Xiongwei
  0 siblings, 0 replies; 9+ messages in thread
From: Song, Xiongwei @ 2023-04-17  7:12 UTC (permalink / raw)
  To: kernel test robot, sxwjean, cl, penberg, rientjes,
	iamjoonsoo.kim, akpm, vbabka, roman.gushchin, 42.hyeyoo,
	keescook
  Cc: oe-kbuild-all, linux-mm, linux-kernel, linux-hardening

Sorry, the diff should be:

diff --git a/mm/slub.c b/mm/slub.c
index 28ca576d988d..0d99440727a5 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -5613,12 +5613,6 @@ static ssize_t cpu_slabs_show(struct kmem_cache *s, char *buf)
 }
 SLAB_ATTR_RO(cpu_slabs);

-static ssize_t objects_show(struct kmem_cache *s, char *buf)
-{
-       return show_slab_objects(s, buf, SO_ALL|SO_OBJECTS);
-}
-SLAB_ATTR_RO(objects);
-
 static ssize_t objects_partial_show(struct kmem_cache *s, char *buf)
 {
        return show_slab_objects(s, buf, SO_PARTIAL|SO_OBJECTS);
@@ -5713,6 +5707,12 @@ static ssize_t total_objects_show(struct kmem_cache *s, char *buf)
 }
 SLAB_ATTR_RO(total_objects);

+static ssize_t objects_show(struct kmem_cache *s, char *buf)
+{
+       return show_slab_objects(s, buf, SO_ALL|SO_OBJECTS);
+}
+SLAB_ATTR_RO(objects);
+
 static ssize_t sanity_checks_show(struct kmem_cache *s, char *buf)
 {
        return sysfs_emit(buf, "%d\n", !!(s->flags & SLAB_CONSISTENCY_CHECKS));
@@ -5944,7 +5944,6 @@ static struct attribute *slab_attrs[] = {
        &order_attr.attr,
        &min_partial_attr.attr,
        &cpu_partial_attr.attr,
-       &objects_attr.attr,
        &objects_partial_attr.attr,
        &partial_attr.attr,
        &cpu_slabs_attr.attr,
@@ -5958,6 +5957,7 @@ static struct attribute *slab_attrs[] = {
        &slabs_cpu_partial_attr.attr,
 #ifdef CONFIG_SLUB_DEBUG
        &total_objects_attr.attr,
+       &objects_attr.attr,
        &slabs_attr.attr,
        &sanity_checks_attr.attr,
        &trace_attr.attr,

Regards,
Xiongwei

> -----Original Message-----
> From: kernel test robot <lkp@intel.com>
> Sent: 2023年4月14日 1:54
> To: sxwjean@me.com; cl@linux.com; penberg@kernel.org;
> rientjes@google.com; iamjoonsoo.kim@lge.com; akpm@linux-
> foundation.org; vbabka@suse.cz; roman.gushchin@linux.dev;
> 42.hyeyoo@gmail.com; keescook@chromium.org
> Cc: oe-kbuild-all@lists.linux.dev; linux-mm@kvack.org; linux-
> kernel@vger.kernel.org; linux-hardening@vger.kernel.org; Song, Xiongwei
> <Xiongwei.Song@windriver.com>
> Subject: Re: [PATCH 2/5] slub: Put objects_show() into
> CONFIG_SLUB_DEBUG enabled block
> 
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender and
> know the content is safe.
> 
> Hi,
> 
> kernel test robot noticed the following build errors:
> 
> [auto build test ERROR on vbabka-slab/for-next]
> [also build test ERROR on linus/master v6.3-rc6 next-20230412]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch#_base_tree_information]
> 
> url:    https://github.com/intel-lab-lkp/linux/commits/sxwjean-me-com/slub-
> Correct-the-error-code-when-slab_kset-is-NULL/20230413-223743
> base:   git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git for-next
> patch link:    https://lore.kernel.org/r/20230413143452.211250-3-
> sxwjean%40me.com
> patch subject: [PATCH 2/5] slub: Put objects_show() into
> CONFIG_SLUB_DEBUG enabled block
> config: i386-randconfig-a012-20230410 (https://download.01.org/0day-
> ci/archive/20230414/202304140110.lzjsYh25-lkp@intel.com/config)
> compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
> reproduce (this is a W=1 build):
>         # https://github.com/intel-lab-
> lkp/linux/commit/356157a450e3905cdc07fd0e77c4ac42974706c7
>         git remote add linux-review https://github.com/intel-lab-lkp/linux
>         git fetch --no-tags linux-review sxwjean-me-com/slub-Correct-the-error-
> code-when-slab_kset-is-NULL/20230413-223743
>         git checkout 356157a450e3905cdc07fd0e77c4ac42974706c7
>         # save the config file
>         mkdir build_dir && cp config build_dir/.config
>         make W=1 O=build_dir ARCH=i386 olddefconfig
>         make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
> 
> If you fix the issue, kindly add following tag where applicable
> | Reported-by: kernel test robot <lkp@intel.com>
> | Link: https://lore.kernel.org/oe-kbuild-all/202304140110.lzjsYh25-
> lkp@intel.com/
> 
> All errors (new ones prefixed by >>):
> 
> >> mm/slub.c:5947:10: error: 'objects_attr' undeclared here (not in a
> function); did you mean 'object_size_attr'?
>     5947 |         &objects_attr.attr,
>          |          ^~~~~~~~~~~~
>          |          object_size_attr
> 
> 
> vim +5947 mm/slub.c
> 
> b84e04f1baeebe6 Imran Khan        2022-08-15  5939
> 81819f0fc8285a2 Christoph Lameter 2007-05-06  5940  static struct attribute
> *slab_attrs[] = {
> 81819f0fc8285a2 Christoph Lameter 2007-05-06  5941      &slab_size_attr.attr,
> 81819f0fc8285a2 Christoph Lameter 2007-05-06  5942
> &object_size_attr.attr,
> 81819f0fc8285a2 Christoph Lameter 2007-05-06  5943
> &objs_per_slab_attr.attr,
> 81819f0fc8285a2 Christoph Lameter 2007-05-06  5944      &order_attr.attr,
> 73d342b169db700 David Rientjes    2009-02-22  5945      &min_partial_attr.attr,
> 49e2258586b4236 Christoph Lameter 2011-08-09  5946
> &cpu_partial_attr.attr,
> 81819f0fc8285a2 Christoph Lameter 2007-05-06 @5947      &objects_attr.attr,
> 205ab99dd103e3d Christoph Lameter 2008-04-14  5948
> &objects_partial_attr.attr,
> 81819f0fc8285a2 Christoph Lameter 2007-05-06  5949      &partial_attr.attr,
> 81819f0fc8285a2 Christoph Lameter 2007-05-06  5950      &cpu_slabs_attr.attr,
> 81819f0fc8285a2 Christoph Lameter 2007-05-06  5951      &ctor_attr.attr,
> 81819f0fc8285a2 Christoph Lameter 2007-05-06  5952      &aliases_attr.attr,
> 81819f0fc8285a2 Christoph Lameter 2007-05-06  5953      &align_attr.attr,
> 81819f0fc8285a2 Christoph Lameter 2007-05-06  5954
> &hwcache_align_attr.attr,
> 81819f0fc8285a2 Christoph Lameter 2007-05-06  5955
> &reclaim_account_attr.attr,
> 81819f0fc8285a2 Christoph Lameter 2007-05-06  5956
> &destroy_by_rcu_attr.attr,
> a5a84755c590041 Christoph Lameter 2010-10-05  5957      &shrink_attr.attr,
> 49e2258586b4236 Christoph Lameter 2011-08-09  5958
> &slabs_cpu_partial_attr.attr,
> ab4d5ed5eeda4f5 Christoph Lameter 2010-10-05  5959  #ifdef
> CONFIG_SLUB_DEBUG
> a5a84755c590041 Christoph Lameter 2010-10-05  5960
> &total_objects_attr.attr,
> a5a84755c590041 Christoph Lameter 2010-10-05  5961      &slabs_attr.attr,
> a5a84755c590041 Christoph Lameter 2010-10-05  5962
> &sanity_checks_attr.attr,
> a5a84755c590041 Christoph Lameter 2010-10-05  5963      &trace_attr.attr,
> 81819f0fc8285a2 Christoph Lameter 2007-05-06  5964      &red_zone_attr.attr,
> 81819f0fc8285a2 Christoph Lameter 2007-05-06  5965      &poison_attr.attr,
> 81819f0fc8285a2 Christoph Lameter 2007-05-06  5966      &store_user_attr.attr,
> 53e15af03be4fda Christoph Lameter 2007-05-06  5967      &validate_attr.attr,
> ab4d5ed5eeda4f5 Christoph Lameter 2010-10-05  5968  #endif
> 81819f0fc8285a2 Christoph Lameter 2007-05-06  5969  #ifdef
> CONFIG_ZONE_DMA
> 81819f0fc8285a2 Christoph Lameter 2007-05-06  5970
> &cache_dma_attr.attr,
> 81819f0fc8285a2 Christoph Lameter 2007-05-06  5971  #endif
> 81819f0fc8285a2 Christoph Lameter 2007-05-06  5972  #ifdef CONFIG_NUMA
> 9824601ead957a2 Christoph Lameter 2008-01-07  5973
> &remote_node_defrag_ratio_attr.attr,
> 8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5974  #endif
> 8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5975  #ifdef
> CONFIG_SLUB_STATS
> 8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5976
> &alloc_fastpath_attr.attr,
> 8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5977
> &alloc_slowpath_attr.attr,
> 8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5978
> &free_fastpath_attr.attr,
> 8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5979
> &free_slowpath_attr.attr,
> 8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5980
> &free_frozen_attr.attr,
> 8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5981
> &free_add_partial_attr.attr,
> 8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5982
> &free_remove_partial_attr.attr,
> 8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5983
> &alloc_from_partial_attr.attr,
> 8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5984      &alloc_slab_attr.attr,
> 8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5985      &alloc_refill_attr.attr,
> e36a2652d7d1ad9 Christoph Lameter 2011-06-01  5986
> &alloc_node_mismatch_attr.attr,
> 8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5987      &free_slab_attr.attr,
> 8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5988
> &cpuslab_flush_attr.attr,
> 8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5989
> &deactivate_full_attr.attr,
> 8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5990
> &deactivate_empty_attr.attr,
> 8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5991
> &deactivate_to_head_attr.attr,
> 8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5992
> &deactivate_to_tail_attr.attr,
> 8ff12cfc009a2a3 Christoph Lameter 2008-02-07  5993
> &deactivate_remote_frees_attr.attr,
> 03e404af26dc2ea Christoph Lameter 2011-06-01  5994
> &deactivate_bypass_attr.attr,
> 65c3376aaca96c6 Christoph Lameter 2008-04-14  5995
> &order_fallback_attr.attr,
> b789ef518b2a723 Christoph Lameter 2011-06-01  5996
> &cmpxchg_double_fail_attr.attr,
> b789ef518b2a723 Christoph Lameter 2011-06-01  5997
> &cmpxchg_double_cpu_fail_attr.attr,
> 49e2258586b4236 Christoph Lameter 2011-08-09  5998
> &cpu_partial_alloc_attr.attr,
> 49e2258586b4236 Christoph Lameter 2011-08-09  5999
> &cpu_partial_free_attr.attr,
> 8028dcea8abbbd5 Alex Shi          2012-02-03  6000
> &cpu_partial_node_attr.attr,
> 8028dcea8abbbd5 Alex Shi          2012-02-03  6001
> &cpu_partial_drain_attr.attr,
> 81819f0fc8285a2 Christoph Lameter 2007-05-06  6002  #endif
> 4c13dd3b48fcb6f Dmitry Monakhov   2010-02-26  6003  #ifdef
> CONFIG_FAILSLAB
> 4c13dd3b48fcb6f Dmitry Monakhov   2010-02-26  6004      &failslab_attr.attr,
> 4c13dd3b48fcb6f Dmitry Monakhov   2010-02-26  6005  #endif
> 346907ceb9d11b9 Vlastimil Babka   2022-11-16  6006  #ifdef
> CONFIG_HARDENED_USERCOPY
> 8eb8284b4129061 David Windsor     2017-06-10  6007      &usersize_attr.attr,
> 346907ceb9d11b9 Vlastimil Babka   2022-11-16  6008  #endif
> b84e04f1baeebe6 Imran Khan        2022-08-15  6009  #ifdef CONFIG_KFENCE
> b84e04f1baeebe6 Imran Khan        2022-08-15  6010      &skip_kfence_attr.attr,
> b84e04f1baeebe6 Imran Khan        2022-08-15  6011  #endif
> 4c13dd3b48fcb6f Dmitry Monakhov   2010-02-26  6012
> 81819f0fc8285a2 Christoph Lameter 2007-05-06  6013      NULL
> 81819f0fc8285a2 Christoph Lameter 2007-05-06  6014  };
> 81819f0fc8285a2 Christoph Lameter 2007-05-06  6015
> 
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests

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

* Re: [PATCH 0/5] Some tiny clean ups for SLUB
  2023-04-13 14:34 [PATCH 0/5] Some tiny clean ups for SLUB sxwjean
                   ` (4 preceding siblings ...)
  2023-04-13 14:34 ` [PATCH 5/5] slub: Don't read nr_slabs and total_objects directly sxwjean
@ 2023-04-18  7:50 ` Vlastimil Babka
  5 siblings, 0 replies; 9+ messages in thread
From: Vlastimil Babka @ 2023-04-18  7:50 UTC (permalink / raw)
  To: sxwjean, cl, penberg, rientjes, iamjoonsoo.kim, akpm,
	roman.gushchin, 42.hyeyoo, keescook
  Cc: linux-mm, linux-kernel, linux-hardening, Xiongwei Song

On 4/13/23 16:34, sxwjean@me.com wrote:
> From: Xiongwei Song <xiongwei.song@windriver.com>
> 
> Hi,
> 
> Just clean ups, no any functionality changed. Thanks for your time.

Thanks, added to slab.git for 6.5:

https://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git/log/?h=slab/for-6.5/cleanup

> Xiongwei Song (5):
>   slub: Correct the error code when slab_kset is NULL
>   slub: Put objects_show() into CONFIG_SLUB_DEBUG enabled block
>   slub: Remove CONFIG_SMP defined check
>   slub: Remove slabs_node() function
>   slub: Don't read nr_slabs and total_objects directly
> 
>  mm/slub.c | 45 +++++++++++++++++----------------------------
>  1 file changed, 17 insertions(+), 28 deletions(-)
> 


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

end of thread, other threads:[~2023-04-18  7:52 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-13 14:34 [PATCH 0/5] Some tiny clean ups for SLUB sxwjean
2023-04-13 14:34 ` [PATCH 1/5] slub: Correct the error code when slab_kset is NULL sxwjean
2023-04-13 14:34 ` [PATCH 2/5] slub: Put objects_show() into CONFIG_SLUB_DEBUG enabled block sxwjean
2023-04-13 17:53   ` kernel test robot
2023-04-17  7:12     ` Song, Xiongwei
2023-04-13 14:34 ` [PATCH 3/5] slub: Remove CONFIG_SMP defined check sxwjean
2023-04-13 14:34 ` [PATCH 4/5] slub: Remove slabs_node() function sxwjean
2023-04-13 14:34 ` [PATCH 5/5] slub: Don't read nr_slabs and total_objects directly sxwjean
2023-04-18  7:50 ` [PATCH 0/5] Some tiny clean ups for SLUB Vlastimil Babka

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.