linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* mm/slub.c:2142:15: warning: variable 'partial_slabs' set but not used
@ 2024-01-06  7:53 kernel test robot
  0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2024-01-06  7:53 UTC (permalink / raw)
  To: Vlastimil Babka
  Cc: llvm, oe-kbuild-all, linux-kernel, Roman Gushchin, Hyeonggon Yoo

Hi Vlastimil,

FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   95c8a35f1c017327eab3b6a2ff5c04255737c856
commit: bb192ed9aa7191a5d65548f82c42b6750d65f569 mm/slub: Convert most struct page to struct slab by spatch
date:   2 years ago
config: i386-allnoconfig (https://download.01.org/0day-ci/archive/20240106/202401061535.b3xgfK51-lkp@intel.com/config)
compiler: ClangBuiltLinux clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240106/202401061535.b3xgfK51-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202401061535.b3xgfK51-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> mm/slub.c:2142:15: warning: variable 'partial_slabs' set but not used [-Wunused-but-set-variable]
    2142 |         unsigned int partial_slabs = 0;
         |                      ^
   mm/slub.c:1681:21: warning: unused function 'kmalloc_large_node_hook' [-Wunused-function]
    1681 | static inline void *kmalloc_large_node_hook(void *ptr, size_t size, gfp_t flags)
         |                     ^~~~~~~~~~~~~~~~~~~~~~~
   2 warnings generated.


vim +/partial_slabs +2142 mm/slub.c

  2132	
  2133	/*
  2134	 * Try to allocate a partial slab from a specific node.
  2135	 */
  2136	static void *get_partial_node(struct kmem_cache *s, struct kmem_cache_node *n,
  2137				      struct slab **ret_slab, gfp_t gfpflags)
  2138	{
  2139		struct slab *slab, *slab2;
  2140		void *object = NULL;
  2141		unsigned long flags;
> 2142		unsigned int partial_slabs = 0;
  2143	
  2144		/*
  2145		 * Racy check. If we mistakenly see no partial slabs then we
  2146		 * just allocate an empty slab. If we mistakenly try to get a
  2147		 * partial slab and there is none available then get_partial()
  2148		 * will return NULL.
  2149		 */
  2150		if (!n || !n->nr_partial)
  2151			return NULL;
  2152	
  2153		spin_lock_irqsave(&n->list_lock, flags);
  2154		list_for_each_entry_safe(slab, slab2, &n->partial, slab_list) {
  2155			void *t;
  2156	
  2157			if (!pfmemalloc_match(slab, gfpflags))
  2158				continue;
  2159	
  2160			t = acquire_slab(s, n, slab, object == NULL);
  2161			if (!t)
  2162				break;
  2163	
  2164			if (!object) {
  2165				*ret_slab = slab;
  2166				stat(s, ALLOC_FROM_PARTIAL);
  2167				object = t;
  2168			} else {
  2169				put_cpu_partial(s, slab, 0);
  2170				stat(s, CPU_PARTIAL_NODE);
  2171				partial_slabs++;
  2172			}
  2173	#ifdef CONFIG_SLUB_CPU_PARTIAL
  2174			if (!kmem_cache_has_cpu_partial(s)
  2175				|| partial_slabs > s->cpu_partial_slabs / 2)
  2176				break;
  2177	#else
  2178			break;
  2179	#endif
  2180	
  2181		}
  2182		spin_unlock_irqrestore(&n->list_lock, flags);
  2183		return object;
  2184	}
  2185	

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

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

* mm/slub.c:2142:15: warning: variable 'partial_slabs' set but not used
@ 2023-09-05 12:18 kernel test robot
  0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2023-09-05 12:18 UTC (permalink / raw)
  To: Vlastimil Babka
  Cc: llvm, oe-kbuild-all, linux-kernel, Roman Gushchin, Hyeonggon Yoo

Hi Vlastimil,

FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   3f86ed6ec0b390c033eae7f9c487a3fea268e027
commit: bb192ed9aa7191a5d65548f82c42b6750d65f569 mm/slub: Convert most struct page to struct slab by spatch
date:   1 year, 8 months ago
:::::: branch date: 12 hours ago
:::::: commit date: 1 year, 8 months ago
config: i386-allnoconfig (https://download.01.org/0day-ci/archive/20230905/202309051941.72ZiILCM-lkp@intel.com/config)
compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230905/202309051941.72ZiILCM-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/r/202309051941.72ZiILCM-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> mm/slub.c:2142:15: warning: variable 'partial_slabs' set but not used [-Wunused-but-set-variable]
           unsigned int partial_slabs = 0;
                        ^
   mm/slub.c:1681:21: warning: unused function 'kmalloc_large_node_hook' [-Wunused-function]
   static inline void *kmalloc_large_node_hook(void *ptr, size_t size, gfp_t flags)
                       ^
   2 warnings generated.


vim +/partial_slabs +2142 mm/slub.c

49e2258586b423 Christoph Lameter 2011-08-09  2132  
81819f0fc8285a Christoph Lameter 2007-05-06  2133  /*
672bba3a4b2e65 Christoph Lameter 2007-05-09  2134   * Try to allocate a partial slab from a specific node.
81819f0fc8285a Christoph Lameter 2007-05-06  2135   */
8ba00bb68a067c Joonsoo Kim       2012-09-17  2136  static void *get_partial_node(struct kmem_cache *s, struct kmem_cache_node *n,
bb192ed9aa7191 Vlastimil Babka   2021-11-03  2137  			      struct slab **ret_slab, gfp_t gfpflags)
81819f0fc8285a Christoph Lameter 2007-05-06  2138  {
bb192ed9aa7191 Vlastimil Babka   2021-11-03  2139  	struct slab *slab, *slab2;
49e2258586b423 Christoph Lameter 2011-08-09  2140  	void *object = NULL;
4b1f449dedd2ff Vlastimil Babka   2021-05-11  2141  	unsigned long flags;
bb192ed9aa7191 Vlastimil Babka   2021-11-03 @2142  	unsigned int partial_slabs = 0;
81819f0fc8285a Christoph Lameter 2007-05-06  2143  
81819f0fc8285a Christoph Lameter 2007-05-06  2144  	/*
81819f0fc8285a Christoph Lameter 2007-05-06  2145  	 * Racy check. If we mistakenly see no partial slabs then we
81819f0fc8285a Christoph Lameter 2007-05-06  2146  	 * just allocate an empty slab. If we mistakenly try to get a
70b6d25ec59cbc Chen Tao          2020-10-15  2147  	 * partial slab and there is none available then get_partial()
672bba3a4b2e65 Christoph Lameter 2007-05-09  2148  	 * will return NULL.
81819f0fc8285a Christoph Lameter 2007-05-06  2149  	 */
81819f0fc8285a Christoph Lameter 2007-05-06  2150  	if (!n || !n->nr_partial)
81819f0fc8285a Christoph Lameter 2007-05-06  2151  		return NULL;
81819f0fc8285a Christoph Lameter 2007-05-06  2152  
4b1f449dedd2ff Vlastimil Babka   2021-05-11  2153  	spin_lock_irqsave(&n->list_lock, flags);
bb192ed9aa7191 Vlastimil Babka   2021-11-03  2154  	list_for_each_entry_safe(slab, slab2, &n->partial, slab_list) {
8ba00bb68a067c Joonsoo Kim       2012-09-17  2155  		void *t;
49e2258586b423 Christoph Lameter 2011-08-09  2156  
bb192ed9aa7191 Vlastimil Babka   2021-11-03  2157  		if (!pfmemalloc_match(slab, gfpflags))
8ba00bb68a067c Joonsoo Kim       2012-09-17  2158  			continue;
8ba00bb68a067c Joonsoo Kim       2012-09-17  2159  
bb192ed9aa7191 Vlastimil Babka   2021-11-03  2160  		t = acquire_slab(s, n, slab, object == NULL);
49e2258586b423 Christoph Lameter 2011-08-09  2161  		if (!t)
9b1ea29bc0d7b9 Linus Torvalds    2021-03-10  2162  			break;
49e2258586b423 Christoph Lameter 2011-08-09  2163  
12d79634f8d7af Alex Shi          2011-09-07  2164  		if (!object) {
bb192ed9aa7191 Vlastimil Babka   2021-11-03  2165  			*ret_slab = slab;
49e2258586b423 Christoph Lameter 2011-08-09  2166  			stat(s, ALLOC_FROM_PARTIAL);
49e2258586b423 Christoph Lameter 2011-08-09  2167  			object = t;
49e2258586b423 Christoph Lameter 2011-08-09  2168  		} else {
bb192ed9aa7191 Vlastimil Babka   2021-11-03  2169  			put_cpu_partial(s, slab, 0);
8028dcea8abbbd Alex Shi          2012-02-03  2170  			stat(s, CPU_PARTIAL_NODE);
bb192ed9aa7191 Vlastimil Babka   2021-11-03  2171  			partial_slabs++;
49e2258586b423 Christoph Lameter 2011-08-09  2172  		}
b47291ef02b0be Vlastimil Babka   2021-11-05  2173  #ifdef CONFIG_SLUB_CPU_PARTIAL
345c905d13a4ec Joonsoo Kim       2013-06-19  2174  		if (!kmem_cache_has_cpu_partial(s)
bb192ed9aa7191 Vlastimil Babka   2021-11-03  2175  			|| partial_slabs > s->cpu_partial_slabs / 2)
49e2258586b423 Christoph Lameter 2011-08-09  2176  			break;
b47291ef02b0be Vlastimil Babka   2021-11-05  2177  #else
b47291ef02b0be Vlastimil Babka   2021-11-05  2178  		break;
b47291ef02b0be Vlastimil Babka   2021-11-05  2179  #endif
49e2258586b423 Christoph Lameter 2011-08-09  2180  
497b66f2ecc978 Christoph Lameter 2011-08-09  2181  	}
4b1f449dedd2ff Vlastimil Babka   2021-05-11  2182  	spin_unlock_irqrestore(&n->list_lock, flags);
497b66f2ecc978 Christoph Lameter 2011-08-09  2183  	return object;
81819f0fc8285a Christoph Lameter 2007-05-06  2184  }
81819f0fc8285a Christoph Lameter 2007-05-06  2185  

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


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

* mm/slub.c:2142:15: warning: variable 'partial_slabs' set but not used
@ 2022-03-24 21:19 kernel test robot
  0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2022-03-24 21:19 UTC (permalink / raw)
  To: Vlastimil Babka
  Cc: llvm, kbuild-all, linux-kernel, Roman Gushchin, Hyeonggon Yoo

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   ed4643521e6af8ab8ed1e467630a85884d2696cf
commit: bb192ed9aa7191a5d65548f82c42b6750d65f569 mm/slub: Convert most struct page to struct slab by spatch
date:   3 months ago
config: mips-buildonly-randconfig-r004-20220324 (https://download.01.org/0day-ci/archive/20220325/202203250552.DbRtnNEv-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 0f6d9501cf49ce02937099350d08f20c4af86f3d)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install mips cross compiling tool for clang build
        # apt-get install binutils-mips-linux-gnu
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bb192ed9aa7191a5d65548f82c42b6750d65f569
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout bb192ed9aa7191a5d65548f82c42b6750d65f569
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> mm/slub.c:2142:15: warning: variable 'partial_slabs' set but not used [-Wunused-but-set-variable]
           unsigned int partial_slabs = 0;
                        ^
   mm/slub.c:1663:29: warning: unused function 'node_nr_slabs' [-Wunused-function]
   static inline unsigned long node_nr_slabs(struct kmem_cache_node *n)
                               ^
   mm/slub.c:1681:21: warning: unused function 'kmalloc_large_node_hook' [-Wunused-function]
   static inline void *kmalloc_large_node_hook(void *ptr, size_t size, gfp_t flags)
                       ^
   3 warnings generated.


vim +/partial_slabs +2142 mm/slub.c

  2132	
  2133	/*
  2134	 * Try to allocate a partial slab from a specific node.
  2135	 */
  2136	static void *get_partial_node(struct kmem_cache *s, struct kmem_cache_node *n,
  2137				      struct slab **ret_slab, gfp_t gfpflags)
  2138	{
  2139		struct slab *slab, *slab2;
  2140		void *object = NULL;
  2141		unsigned long flags;
> 2142		unsigned int partial_slabs = 0;
  2143	
  2144		/*
  2145		 * Racy check. If we mistakenly see no partial slabs then we
  2146		 * just allocate an empty slab. If we mistakenly try to get a
  2147		 * partial slab and there is none available then get_partial()
  2148		 * will return NULL.
  2149		 */
  2150		if (!n || !n->nr_partial)
  2151			return NULL;
  2152	
  2153		spin_lock_irqsave(&n->list_lock, flags);
  2154		list_for_each_entry_safe(slab, slab2, &n->partial, slab_list) {
  2155			void *t;
  2156	
  2157			if (!pfmemalloc_match(slab, gfpflags))
  2158				continue;
  2159	
  2160			t = acquire_slab(s, n, slab, object == NULL);
  2161			if (!t)
  2162				break;
  2163	
  2164			if (!object) {
  2165				*ret_slab = slab;
  2166				stat(s, ALLOC_FROM_PARTIAL);
  2167				object = t;
  2168			} else {
  2169				put_cpu_partial(s, slab, 0);
  2170				stat(s, CPU_PARTIAL_NODE);
  2171				partial_slabs++;
  2172			}
  2173	#ifdef CONFIG_SLUB_CPU_PARTIAL
  2174			if (!kmem_cache_has_cpu_partial(s)
  2175				|| partial_slabs > s->cpu_partial_slabs / 2)
  2176				break;
  2177	#else
  2178			break;
  2179	#endif
  2180	
  2181		}
  2182		spin_unlock_irqrestore(&n->list_lock, flags);
  2183		return object;
  2184	}
  2185	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

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

end of thread, other threads:[~2024-01-06  7:54 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-06  7:53 mm/slub.c:2142:15: warning: variable 'partial_slabs' set but not used kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2023-09-05 12:18 kernel test robot
2022-03-24 21:19 kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).