[akpm-mm:mm-unstable 179/192] mm/zswap.c:825:17: error: dereferencing pointer to incomplete type 'struct mem_cgroup'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-unstable
head:   cb1d236cb1038fa1bbae9913803f1c655b86d931
commit: 70dd375afcfe1839321ea8a65749404a99f0e773 [179/192] zswap: make shrinking memcg-aware
config: x86_64-randconfig-r112-20231129 (https://download.01.org/0day-ci/archive/20231129/202311292250.RUfWGNgx-lkp@xxxxxxxxx/config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231129/202311292250.RUfWGNgx-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/202311292250.RUfWGNgx-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

   mm/zswap.c: In function 'mem_cgroup_from_entry':
   mm/zswap.c:298:24: error: implicit declaration of function 'obj_cgroup_memcg'; did you mean 'obj_cgroup_put'? [-Werror=implicit-function-declaration]
     return entry->objcg ? obj_cgroup_memcg(entry->objcg) : NULL;
                           ^~~~~~~~~~~~~~~~
                           obj_cgroup_put
   mm/zswap.c:298:55: warning: pointer/integer type mismatch in conditional expression
     return entry->objcg ? obj_cgroup_memcg(entry->objcg) : NULL;
                                                          ^
   mm/zswap.c: In function 'shrink_worker':
>> mm/zswap.c:825:17: error: dereferencing pointer to incomplete type 'struct mem_cgroup'
      css_get(&memcg->css);
                    ^~
   cc1: some warnings being treated as errors


vim +825 mm/zswap.c

   798	
   799	static void shrink_worker(struct work_struct *w)
   800	{
   801		struct zswap_pool *pool = container_of(w, typeof(*pool),
   802							shrink_work);
   803		struct mem_cgroup *memcg;
   804		int ret, failures = 0;
   805	
   806		/* global reclaim will select cgroup in a round-robin fashion. */
   807		do {
   808			spin_lock(&zswap_pools_lock);
   809			memcg = pool->next_shrink =
   810				mem_cgroup_iter_online(NULL, pool->next_shrink, NULL, true);
   811	
   812			/* full round trip */
   813			if (!memcg) {
   814				spin_unlock(&zswap_pools_lock);
   815				if (++failures == MAX_RECLAIM_RETRIES)
   816					break;
   817	
   818				goto resched;
   819			}
   820	
   821			/*
   822			 * Acquire an extra reference to the iterated memcg in case the
   823			 * original reference is dropped by the zswap offlining callback.
   824			 */
 > 825			css_get(&memcg->css);
   826			spin_unlock(&zswap_pools_lock);
   827	
   828			ret = shrink_memcg(memcg);
   829			mem_cgroup_put(memcg);
   830	
   831			if (ret == -EINVAL)
   832				break;
   833			if (ret && ++failures == MAX_RECLAIM_RETRIES)
   834				break;
   835	
   836	resched:
   837			cond_resched();
   838		} while (!zswap_can_accept());
   839	}
   840	

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




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux