Re: [PATCH bpf-next v2 6/8] cgroup: bpf: enable bpf programs to integrate with rstat
From: kernel test robot
Date: Fri Jun 10 2022 - 16:53:19 EST
Hi Yosry,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on bpf-next/master]
url: https://github.com/intel-lab-lkp/linux/commits/Yosry-Ahmed/bpf-rstat-cgroup-hierarchical-stats/20220611-034720
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
config: um-i386_defconfig (https://download.01.org/0day-ci/archive/20220611/202206110457.uD5lLvbh-lkp@xxxxxxxxx/config)
compiler: gcc-11 (Debian 11.3.0-3) 11.3.0
reproduce (this is a W=1 build):
# https://github.com/intel-lab-lkp/linux/commit/83f297e2b47dc41b511f071b9eadf38339387b41
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Yosry-Ahmed/bpf-rstat-cgroup-hierarchical-stats/20220611-034720
git checkout 83f297e2b47dc41b511f071b9eadf38339387b41
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 O=build_dir ARCH=um SUBARCH=i386 SHELL=/bin/bash kernel/cgroup/
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>
All warnings (new ones prefixed by >>):
>> kernel/cgroup/rstat.c:161:22: warning: no previous prototype for 'bpf_rstat_flush' [-Wmissing-prototypes]
161 | __weak noinline void bpf_rstat_flush(struct cgroup *cgrp,
| ^~~~~~~~~~~~~~~
kernel/cgroup/rstat.c:509:10: error: 'const struct btf_kfunc_id_set' has no member named 'sleepable_set'; did you mean 'release_set'?
509 | .sleepable_set = &bpf_rstat_sleepable_kfunc_ids,
| ^~~~~~~~~~~~~
| release_set
>> kernel/cgroup/rstat.c:509:27: warning: excess elements in struct initializer
509 | .sleepable_set = &bpf_rstat_sleepable_kfunc_ids,
| ^
kernel/cgroup/rstat.c:509:27: note: (near initialization for 'bpf_rstat_kfunc_set')
vim +/bpf_rstat_flush +161 kernel/cgroup/rstat.c
148
149 /*
150 * A hook for bpf stat collectors to attach to and flush their stats.
151 * Together with providing bpf kfuncs for cgroup_rstat_updated() and
152 * cgroup_rstat_flush(), this enables a complete workflow where bpf progs that
153 * collect cgroup stats can integrate with rstat for efficient flushing.
154 *
155 * A static noinline declaration here could cause the compiler to optimize away
156 * the function. A global noinline declaration will keep the definition, but may
157 * optimize away the callsite. Therefore, __weak is needed to ensure that the
158 * call is still emitted, by telling the compiler that we don't know what the
159 * function might eventually be.
160 */
> 161 __weak noinline void bpf_rstat_flush(struct cgroup *cgrp,
162 struct cgroup *parent, int cpu)
163 {
164 }
165
--
0-DAY CI Kernel Test Service
https://01.org/lkp