Re: [PATCH 27/30] sched_ext: Implement core-sched support

kernel test robot
2023-01-28T19:09:01Z

Hi Tejun,

I love your patch! Yet something to improve:

[auto build test ERROR on linux/master]
[also build test ERROR on linus/master v6.2-rc5]
[cannot apply to tip/sched/core tj-cgroup/for-next next-20230127]
[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/Tejun-Heo/sched-Encapsulate-task-attribute-change-sequence-into-a-helper-macro/20230128-123001
patch link: https://lore.kernel.org/r/20230128001639.3510083-28-tj%40kernel.org
patch subject: [PATCH 27/30] sched_ext: Implement core-sched support
config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20230129/202301290223.0qWZoY9T-lkp@intel.com/config)
compiler: s390-linux-gcc (GCC) 12.1.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/750f973dd349cc5c3df29319b0ffae740738a9d2
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Tejun-Heo/sched-Encapsulate-task-attribute-change-sequence-into-a-helper-macro/20230128-123001
git checkout 750f973dd349cc5c3df29319b0ffae740738a9d2
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=s390 olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=s390 SHELL=/bin/bash kernel/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>):

In file included from kernel/sched/build_policy.c:58:
>> kernel/sched/ext.c:3349:25: error: initialization of 'int (*)(const struct btf_type *, const struct btf_member *)' from incompatible pointer type 'int (*)(const struct btf_type *, const struct btf_member *, const struct bpf_prog *)' [-Werror=incompatible-pointer-types]
3349 | .check_member = bpf_scx_check_member,
| ^~~~~~~~~~~~~~~~~~~~
kernel/sched/ext.c:3349:25: note: (near initialization for 'bpf_sched_ext_ops.check_member')
kernel/sched/ext.c: In function 'scx_bpf_error_bstr':
>> kernel/sched/ext.c:3906:16: error: variable 'bprintf_data' has initializer but incomplete type
3906 | struct bpf_bprintf_data bprintf_data = { .get_bin_args = true };
| ^~~~~~~~~~~~~~~~
>> kernel/sched/ext.c:3906:51: error: 'struct bpf_bprintf_data' has no member named 'get_bin_args'
3906 | struct bpf_bprintf_data bprintf_data = { .get_bin_args = true };
| ^~~~~~~~~~~~
>> kernel/sched/ext.c:3906:66: warning: excess elements in struct initializer
3906 | struct bpf_bprintf_data bprintf_data = { .get_bin_args = true };
| ^~~~
kernel/sched/ext.c:3906:66: note: (near initialization for 'bprintf_data')
>> kernel/sched/ext.c:3906:33: error: storage size of 'bprintf_data' isn't known
3906 | struct bpf_bprintf_data bprintf_data = { .get_bin_args = true };
| ^~~~~~~~~~~~
>> kernel/sched/ext.c:3927:71: warning: passing argument 4 of 'bpf_bprintf_prepare' makes pointer from integer without a cast [-Wint-conversion]
3927 | ret = bpf_bprintf_prepare(fmt, UINT_MAX, bufs->data, data__sz / 8,
| ~~~~~~~~~^~~
| |
| u32 {aka unsigned int}
In file included from include/linux/bpf_verifier.h:7,
from kernel/sched/ext.c:3193:
include/linux/bpf.h:2800:31: note: expected 'u32 **' {aka 'unsigned int **'} but argument is of type 'u32' {aka 'unsigned int'}
2800 | u32 **bin_buf, u32 num_args);
| ~~~~~~^~~~~~~
>> kernel/sched/ext.c:3936:9: error: too many arguments to function 'bpf_bprintf_cleanup'
3936 | bpf_bprintf_cleanup(&bprintf_data);
| ^~~~~~~~~~~~~~~~~~~
include/linux/bpf.h:2801:6: note: declared here
2801 | void bpf_bprintf_cleanup(void);
| ^~~~~~~~~~~~~~~~~~~
kernel/sched/ext.c:3906:33: warning: unused variable 'bprintf_data' [-Wunused-variable]
3906 | struct bpf_bprintf_data bprintf_data = { .get_bin_args = true };
| ^~~~~~~~~~~~
cc1: some warnings being treated as errors

vim +3349 kernel/sched/ext.c

4c016c2bafb66b Tejun Heo 2023-01-27 3344
4c016c2bafb66b Tejun Heo 2023-01-27 3345 struct bpf_struct_ops bpf_sched_ext_ops = {
4c016c2bafb66b Tejun Heo 2023-01-27 3346 .verifier_ops = &bpf_scx_verifier_ops,
4c016c2bafb66b Tejun Heo 2023-01-27 3347 .reg = bpf_scx_reg,
4c016c2bafb66b Tejun Heo 2023-01-27 3348 .unreg = bpf_scx_unreg,
4c016c2bafb66b Tejun Heo 2023-01-27 @3349 .check_member = bpf_scx_check_member,
4c016c2bafb66b Tejun Heo 2023-01-27 3350 .init_member = bpf_scx_init_member,
4c016c2bafb66b Tejun Heo 2023-01-27 3351 .init = bpf_scx_init,
4c016c2bafb66b Tejun Heo 2023-01-27 3352 .name = "sched_ext_ops",
4c016c2bafb66b Tejun Heo 2023-01-27 3353 };
4c016c2bafb66b Tejun Heo 2023-01-27 3354

--
0-DAY CI Kernel Test Service