Re: [PATCH 23/30] sched_ext: Add cgroup support

kernel test robot
2023-01-28T18:06:09Z

Hi Tejun,

I love your patch! Perhaps something to improve:

[auto build test WARNING on linux/master]
[also build test WARNING 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-24-tj%40kernel.org
patch subject: [PATCH 23/30] sched_ext: Add cgroup support
config: arc-defconfig (https://download.01.org/0day-ci/archive/20230129/202301290107.J4Eavi26-lkp@intel.com/config)
compiler: arc-elf-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/6f861617cb846291559a9d0bfe60a9c1ca20f406
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 6f861617cb846291559a9d0bfe60a9c1ca20f406
# 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=arc olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arc SHELL=/bin/bash kernel/

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

All warnings (new ones prefixed by >>):

In file included from kernel/sched/sched.h:3404,
from kernel/sched/core.c:85:
>> kernel/sched/ext.h:182:48: warning: 'struct cgroup_taskset' declared inside parameter list will not be visible outside of this definition or declaration
182 | static inline int scx_cgroup_can_attach(struct cgroup_taskset *tset) { return 0; }
| ^~~~~~~~~~~~~~
kernel/sched/ext.h:185:52: warning: 'struct cgroup_taskset' declared inside parameter list will not be visible outside of this definition or declaration
185 | static inline void scx_cgroup_cancel_attach(struct cgroup_taskset *tset) {}
| ^~~~~~~~~~~~~~
kernel/sched/core.c:7006:6: warning: no previous prototype for '__setscheduler_prio' [-Wmissing-prototypes]
7006 | void __setscheduler_prio(struct task_struct *p, int prio)
| ^~~~~~~~~~~~~~~~~~~
--
In file included from kernel/sched/sched.h:3404,
from kernel/sched/fair.c:55:
>> kernel/sched/ext.h:182:48: warning: 'struct cgroup_taskset' declared inside parameter list will not be visible outside of this definition or declaration
182 | static inline int scx_cgroup_can_attach(struct cgroup_taskset *tset) { return 0; }
| ^~~~~~~~~~~~~~
kernel/sched/ext.h:185:52: warning: 'struct cgroup_taskset' declared inside parameter list will not be visible outside of this definition or declaration
185 | static inline void scx_cgroup_cancel_attach(struct cgroup_taskset *tset) {}
| ^~~~~~~~~~~~~~
kernel/sched/fair.c:5937:6: warning: no previous prototype for 'init_cfs_bandwidth' [-Wmissing-prototypes]
5937 | void init_cfs_bandwidth(struct cfs_bandwidth *cfs_b) {}
| ^~~~~~~~~~~~~~~~~~
kernel/sched/fair.c:12361:6: warning: no previous prototype for 'free_fair_sched_group' [-Wmissing-prototypes]
12361 | void free_fair_sched_group(struct task_group *tg) { }
| ^~~~~~~~~~~~~~~~~~~~~
kernel/sched/fair.c:12363:5: warning: no previous prototype for 'alloc_fair_sched_group' [-Wmissing-prototypes]
12363 | int alloc_fair_sched_group(struct task_group *tg, struct task_group *parent)
| ^~~~~~~~~~~~~~~~~~~~~~
kernel/sched/fair.c:12368:6: warning: no previous prototype for 'online_fair_sched_group' [-Wmissing-prototypes]
12368 | void online_fair_sched_group(struct task_group *tg) { }
| ^~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/fair.c:12370:6: warning: no previous prototype for 'unregister_fair_sched_group' [-Wmissing-prototypes]
12370 | void unregister_fair_sched_group(struct task_group *tg) { }
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
--
In file included from kernel/sched/sched.h:3404,
from kernel/sched/build_policy.c:36:
>> kernel/sched/ext.h:182:48: warning: 'struct cgroup_taskset' declared inside parameter list will not be visible outside of this definition or declaration
182 | static inline int scx_cgroup_can_attach(struct cgroup_taskset *tset) { return 0; }
| ^~~~~~~~~~~~~~
kernel/sched/ext.h:185:52: warning: 'struct cgroup_taskset' declared inside parameter list will not be visible outside of this definition or declaration
185 | static inline void scx_cgroup_cancel_attach(struct cgroup_taskset *tset) {}
| ^~~~~~~~~~~~~~

vim +182 kernel/sched/ext.h

170
171 #ifdef CONFIG_EXT_GROUP_SCHED
172 int scx_tg_online(struct task_group *tg);
173 void scx_tg_offline(struct task_group *tg);
174 int scx_cgroup_can_attach(struct cgroup_taskset *tset);
175 void scx_move_task(struct task_struct *p);
176 void scx_cgroup_finish_attach(void);
177 void scx_cgroup_cancel_attach(struct cgroup_taskset *tset);
178 void scx_group_set_weight(struct task_group *tg, unsigned long cgrp_weight);
179 #else /* CONFIG_EXT_GROUP_SCHED */
180 static inline int scx_tg_online(struct task_group *tg) { return 0; }
181 static inline void scx_tg_offline(struct task_group *tg) {}
> 182 static inline int scx_cgroup_can_attach(struct cgroup_taskset *tset) { return 0; }

--
0-DAY CI Kernel Test Service