Re: [PATCH mm v2 6/9] memcg: enable accounting for percpu allocation of struct cgroup_rstat_cpu

kernel test robot
2022-05-21T22:05:30Z

Hi Vasily,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on tip/sched/core]
[also build test ERROR on tj-cgroup/for-next driver-core/driver-core-testing linus/master v5.18-rc7 next-20220520]
[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]

url: https://github.com/intel-lab-lkp/linux/commits/Vasily-Averin/memcg-enable-accounting-for-struct-cgroup/20220522-004124
base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 991d8d8142cad94f9c5c05db25e67fa83d6f772a
config: arm-imxrt_defconfig (https://download.01.org/0day-ci/archive/20220522/202205220531.AVnBFrgq-lkp-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org/config)
compiler: arm-linux-gnueabi-gcc (GCC) 11.3.0
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
# https://github.com/intel-lab-lkp/linux/commit/c1b7edf1635aaef50d25ba8246a5e5c997a6bf44
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Vasily-Averin/memcg-enable-accounting-for-struct-cgroup/20220522-004124
git checkout c1b7edf1635aaef50d25ba8246a5e5c997a6bf44
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash kernel/cgroup/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>

All errors (new ones prefixed by >>):

kernel/cgroup/rstat.c: In function 'cgroup_rstat_init':
>> kernel/cgroup/rstat.c:261:70: error: macro "alloc_percpu_gfp" requires 2 arguments, but only 1 given
261 | GFP_KERNEL_ACCOUNT);
| ^
In file included from include/linux/hrtimer.h:19,
from include/linux/sched.h:19,
from include/linux/cgroup.h:12,
from kernel/cgroup/cgroup-internal.h:5,
from kernel/cgroup/rstat.c:2:
include/linux/percpu.h:133: note: macro "alloc_percpu_gfp" defined here
133 | #define alloc_percpu_gfp(type, gfp) \
|
>> kernel/cgroup/rstat.c:260:35: error: 'alloc_percpu_gfp' undeclared (first use in this function)
260 | cgrp->rstat_cpu = alloc_percpu_gfp(struct cgroup_rstat_cpu
| ^~~~~~~~~~~~~~~~
kernel/cgroup/rstat.c:260:35: note: each undeclared identifier is reported only once for each function it appears in

vim +/alloc_percpu_gfp +261 kernel/cgroup/rstat.c

253
254 int cgroup_rstat_init(struct cgroup *cgrp)
255 {
256 int cpu;
257
258 /* the root cgrp has rstat_cpu preallocated */
259 if (!cgrp->rstat_cpu) {
> 260 cgrp->rstat_cpu = alloc_percpu_gfp(struct cgroup_rstat_cpu
> 261 GFP_KERNEL_ACCOUNT);
262 if (!cgrp->rstat_cpu)
263 return -ENOMEM;
264 }
265
266 /* ->updated_children list is self terminated */
267 for_each_possible_cpu(cpu) {
268 struct cgroup_rstat_cpu *rstatc = cgroup_rstat_cpu(cgrp, cpu);
269
270 rstatc->updated_children = cgrp;
271 u64_stats_init(&rstatc->bsync);
272 }
273
274 return 0;
275 }
276

--
0-DAY CI Kernel Test Service