Hi Maarten, kernel test robot noticed the following build warnings: [auto build test WARNING on tj-cgroup/for-next] [also build test WARNING on akpm-mm/mm-everything linus/master v6.13-rc1 next-20241204] [cannot apply to drm-misc/drm-misc-next drm-tip/drm-tip] [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/Maarten-Lankhorst/kernel-cgroup-Add-dmem-memory-accounting-cgroup/20241204-233207 base: https://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git for-next patch link: https://lore.kernel.org/r/20241204143112.1250983-1-dev%40lankhorst.se patch subject: [PATCH v2.1 1/1] kernel/cgroup: Add "dmem" memory accounting cgroup config: sh-allmodconfig (https://download.01.org/0day-ci/archive/20241205/202412050415.jf4sa0gH-lkp@xxxxxxxxx/config) compiler: sh4-linux-gcc (GCC) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241205/202412050415.jf4sa0gH-lkp@xxxxxxxxx/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@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202412050415.jf4sa0gH-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): kernel/cgroup/dmem.c: In function 'dmem_cgroup_state_evict_valuable': >> kernel/cgroup/dmem.c:302:30: warning: variable 'climit' set but not used [-Wunused-but-set-variable] 302 | struct page_counter *climit, *ctest; | ^~~~~~ -- >> kernel/cgroup/dmem.c:300: warning: Excess function parameter 'dev' description in 'dmem_cgroup_state_evict_valuable' >> kernel/cgroup/dmem.c:300: warning: Excess function parameter 'index' description in 'dmem_cgroup_state_evict_valuable' >> kernel/cgroup/dmem.c:635: warning: Function parameter or struct member 'region' not described in 'dmem_cgroup_try_charge' >> kernel/cgroup/dmem.c:635: warning: Excess function parameter 'dev' description in 'dmem_cgroup_try_charge' vim +/climit +302 kernel/cgroup/dmem.c 280 281 /** 282 * dmem_cgroup_state_evict_valuable() - Check if we should evict from test_pool 283 * @dev: &dmem_cgroup_region 284 * @index: The index number of the region being tested. 285 * @limit_pool: The pool for which we hit limits 286 * @test_pool: The pool for which to test 287 * @ignore_low: Whether we have to respect low watermarks. 288 * @ret_hit_low: Pointer to whether it makes sense to consider low watermark. 289 * 290 * This function returns true if we can evict from @test_pool, false if not. 291 * When returning false and @ignore_low is false, @ret_hit_low may 292 * be set to true to indicate this function can be retried with @ignore_low 293 * set to true. 294 * 295 * Return: bool 296 */ 297 bool dmem_cgroup_state_evict_valuable(struct dmem_cgroup_pool_state *limit_pool, 298 struct dmem_cgroup_pool_state *test_pool, 299 bool ignore_low, bool *ret_hit_low) > 300 { 301 struct dmem_cgroup_pool_state *pool = test_pool; > 302 struct page_counter *climit, *ctest; 303 u64 used, min, low; 304 305 /* Can always evict from current pool, despite limits */ 306 if (limit_pool == test_pool) 307 return true; 308 309 if (limit_pool) { 310 if (!parent_dmemcs(limit_pool->cs)) 311 return true; 312 313 for (pool = test_pool; pool && limit_pool != pool; pool = pool_parent(pool)) 314 {} 315 316 if (!pool) 317 return false; 318 } else { 319 /* 320 * If there is no cgroup limiting memory usage, use the root 321 * cgroup instead for limit calculations. 322 */ 323 for (limit_pool = test_pool; pool_parent(limit_pool); limit_pool = pool_parent(limit_pool)) 324 {} 325 } 326 327 climit = &limit_pool->cnt; 328 ctest = &test_pool->cnt; 329 330 dmem_cgroup_calculate_protection(limit_pool, test_pool); 331 332 used = page_counter_read(ctest); 333 min = READ_ONCE(ctest->emin); 334 335 if (used <= min) 336 return false; 337 338 if (!ignore_low) { 339 low = READ_ONCE(ctest->elow); 340 if (used > low) 341 return true; 342 343 *ret_hit_low = true; 344 return false; 345 } 346 return true; 347 } 348 EXPORT_SYMBOL_GPL(dmem_cgroup_state_evict_valuable); 349 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki