Messages in this thread | | | Date | Sat, 6 Jan 2024 15:53:49 +0800 | From | kernel test robot <> | Subject | mm/slub.c:2142:15: warning: variable 'partial_slabs' set but not used |
| |
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
| |