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-...@intel.com/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-...@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 <l...@intel.com>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/202412050415.jf4sa0gh-...@intel.com/

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

Reply via email to