* [opencloudos:linux-5.4/next 26605/27507] kernel/sched/batch.c:2915:16: error: invalid use of undefined type 'struct sched_domain'
@ 2024-03-18 4:51 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-03-18 4:51 UTC (permalink / raw)
To: jasperwang, kaixuxia, frankjpliu, kasong, sagazchen, kernelxing,
aurelianliu, jason.zeng, wu.zheng, yingbao.jia, pei.p.jia
Cc: oe-kbuild-all
tree: https://gitee.com/OpenCloudOS/OpenCloudOS-Kernel.git linux-5.4/next
head: fdd5d0bfc620bd5147ff5b260822c7645aeddad6
commit: f2b1cebbfb364bfee4bf65cc11a429c360a64b89 [26605/27507] rue/cpu: Add control method to limit the rating of entering idle_balance_bt
config: x86_64-randconfig-r053-20240315 (https://download.01.org/0day-ci/archive/20240318/202403181205.TrWTfCA7-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240318/202403181205.TrWTfCA7-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202403181205.TrWTfCA7-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from kernel/sched/batch.c:17:
kernel/sched/ht_isolate.h:20:6: warning: no previous prototype for 'sensitive_running_on_sibling' [-Wmissing-prototypes]
20 | bool sensitive_running_on_sibling(int cpu) { return false; }
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/batch.c:869:6: warning: no previous prototype for 'unthrottle_bt_rq' [-Wmissing-prototypes]
869 | void unthrottle_bt_rq(struct bt_rq *bt_rq)
| ^~~~~~~~~~~~~~~~
kernel/sched/batch.c: In function 'do_sched_bt_period_timer':
kernel/sched/batch.c:940:29: warning: variable 'runtime' set but not used [-Wunused-but-set-variable]
940 | u64 runtime;
| ^~~~~~~
kernel/sched/batch.c: At top level:
kernel/sched/batch.c:1148:25: warning: no previous prototype for '__pick_first_bt_entity' [-Wmissing-prototypes]
1148 | struct sched_bt_entity *__pick_first_bt_entity(struct bt_rq *bt_rq)
| ^~~~~~~~~~~~~~~~~~~~~~
kernel/sched/batch.c:1882:6: warning: no previous prototype for 'place_bt_entity' [-Wmissing-prototypes]
1882 | void place_bt_entity(struct bt_rq *bt_rq, struct sched_bt_entity *se,
| ^~~~~~~~~~~~~~~
kernel/sched/batch.c:2894:12: warning: no previous prototype for 'find_busiest_rq' [-Wmissing-prototypes]
2894 | struct rq *find_busiest_rq(struct rq *this_rq, struct sched_domain *sd,
| ^~~~~~~~~~~~~~~
kernel/sched/batch.c: In function 'find_busiest_rq':
>> kernel/sched/batch.c:2915:16: error: invalid use of undefined type 'struct sched_domain'
2915 | if (!sd->parent) {
| ^~
>> kernel/sched/batch.c:2916:51: error: 'struct rq' has no member named 'rd'; did you mean 'rt'?
2916 | struct root_domain *rd = this_rq->rd;
| ^~
| rt
In file included from arch/x86/include/asm/current.h:5,
from include/linux/sched.h:12,
from kernel/sched/batch.c:5:
>> kernel/sched/batch.c:2918:30: error: invalid use of undefined type 'struct root_domain'
2918 | WRITE_ONCE(rd->overload_bt, overload);
| ^~
include/linux/compiler.h:355:24: note: in definition of macro 'WRITE_ONCE'
355 | union { typeof(x) __val; char __c[1]; } __u = \
| ^
>> kernel/sched/batch.c:2918:30: error: invalid use of undefined type 'struct root_domain'
2918 | WRITE_ONCE(rd->overload_bt, overload);
| ^~
include/linux/compiler.h:356:44: note: in definition of macro 'WRITE_ONCE'
356 | { .__val = (__force typeof(x)) (val) }; \
| ^
>> kernel/sched/batch.c:2918:30: error: invalid use of undefined type 'struct root_domain'
2918 | WRITE_ONCE(rd->overload_bt, overload);
| ^~
include/linux/compiler.h:357:29: note: in definition of macro 'WRITE_ONCE'
357 | __write_once_size(&(x), __u.__c, sizeof(x)); \
| ^
>> kernel/sched/batch.c:2918:30: error: invalid use of undefined type 'struct root_domain'
2918 | WRITE_ONCE(rd->overload_bt, overload);
| ^~
include/linux/compiler.h:357:49: note: in definition of macro 'WRITE_ONCE'
357 | __write_once_size(&(x), __u.__c, sizeof(x)); \
| ^
kernel/sched/batch.c: In function 'can_migrate_bt':
kernel/sched/batch.c:2930:37: error: 'struct rq' has no member named 'cpu'
2930 | if (!cpumask_test_cpu(dst_rq->cpu, p->cpus_ptr) ||
| ^~
kernel/sched/batch.c: At top level:
kernel/sched/batch.c:2936:5: warning: no previous prototype for 'load_balance_bt' [-Wmissing-prototypes]
2936 | int load_balance_bt(struct rq *this_rq, struct sched_domain *sd,
| ^~~~~~~~~~~~~~~
kernel/sched/batch.c: In function 'load_balance_bt':
kernel/sched/batch.c:2961:24: error: 'struct rq' has no member named 'bt_tasks'
2961 | tasks = &src_rq->bt_tasks;
| ^~
kernel/sched/batch.c: In function 'rebalance_domains_bt':
kernel/sched/batch.c:3018:9: error: implicit declaration of function 'for_each_domain'; did you mean 'for_each_class'? [-Werror=implicit-function-declaration]
3018 | for_each_domain(cpu, sd) {
| ^~~~~~~~~~~~~~~
| for_each_class
kernel/sched/batch.c:3018:33: error: expected ';' before '{' token
3018 | for_each_domain(cpu, sd) {
| ^~
| ;
kernel/sched/batch.c:3009:23: warning: unused variable 'interval' [-Wunused-variable]
3009 | unsigned long interval;
| ^~~~~~~~
kernel/sched/batch.c:3008:25: warning: unused variable 'mask' [-Wunused-variable]
3008 | struct cpumask *mask;
| ^~~~
kernel/sched/batch.c: At top level:
kernel/sched/batch.c:3037:6: warning: no previous prototype for 'trigger_load_balance_bt' [-Wmissing-prototypes]
3037 | void trigger_load_balance_bt(struct rq *rq)
| ^~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/batch.c: In function 'idle_balance_bt':
kernel/sched/batch.c:3061:13: error: 'struct rq' has no member named 'idle_stamp'; did you mean 'idle_state'?
3061 | rq->idle_stamp = rq_clock(rq);
| ^~~~~~~~~~
| idle_state
kernel/sched/batch.c:3063:15: error: 'struct rq' has no member named 'avg_idle'
3063 | if (rq->avg_idle < sysctl_idle_balance_bt_cost ||
| ^~
kernel/sched/batch.c:3064:28: error: 'struct rq' has no member named 'rd'; did you mean 'rt'?
3064 | !READ_ONCE(rq->rd->overload_bt))
| ^~
include/linux/compiler.h:330:24: note: in definition of macro '__READ_ONCE'
330 | union { typeof(x) __val; char __c[1]; } __u; \
| ^
kernel/sched/batch.c:3064:14: note: in expansion of macro 'READ_ONCE'
3064 | !READ_ONCE(rq->rd->overload_bt))
| ^~~~~~~~~
kernel/sched/batch.c:3064:28: error: 'struct rq' has no member named 'rd'; did you mean 'rt'?
3064 | !READ_ONCE(rq->rd->overload_bt))
| ^~
include/linux/compiler.h:332:36: note: in definition of macro '__READ_ONCE'
332 | __read_once_size(&(x), __u.__c, sizeof(x)); \
| ^
kernel/sched/batch.c:3064:14: note: in expansion of macro 'READ_ONCE'
3064 | !READ_ONCE(rq->rd->overload_bt))
| ^~~~~~~~~
kernel/sched/batch.c:3064:28: error: 'struct rq' has no member named 'rd'; did you mean 'rt'?
3064 | !READ_ONCE(rq->rd->overload_bt))
| ^~
include/linux/compiler.h:332:56: note: in definition of macro '__READ_ONCE'
332 | __read_once_size(&(x), __u.__c, sizeof(x)); \
| ^
kernel/sched/batch.c:3064:14: note: in expansion of macro 'READ_ONCE'
3064 | !READ_ONCE(rq->rd->overload_bt))
| ^~~~~~~~~
kernel/sched/batch.c:3064:28: error: 'struct rq' has no member named 'rd'; did you mean 'rt'?
3064 | !READ_ONCE(rq->rd->overload_bt))
| ^~
include/linux/compiler.h:334:44: note: in definition of macro '__READ_ONCE'
334 | __read_once_size_nocheck(&(x), __u.__c, sizeof(x)); \
| ^
kernel/sched/batch.c:3064:14: note: in expansion of macro 'READ_ONCE'
3064 | !READ_ONCE(rq->rd->overload_bt))
| ^~~~~~~~~
kernel/sched/batch.c:3064:28: error: 'struct rq' has no member named 'rd'; did you mean 'rt'?
3064 | !READ_ONCE(rq->rd->overload_bt))
| ^~
include/linux/compiler.h:334:64: note: in definition of macro '__READ_ONCE'
334 | __read_once_size_nocheck(&(x), __u.__c, sizeof(x)); \
| ^
kernel/sched/batch.c:3064:14: note: in expansion of macro 'READ_ONCE'
3064 | !READ_ONCE(rq->rd->overload_bt))
| ^~~~~~~~~
kernel/sched/batch.c:3076:38: error: expected ';' before '{' token
3076 | for_each_domain(this_cpu, sd) {
| ^~
| ;
kernel/sched/batch.c:3059:18: warning: unused variable 'pulled_task' [-Wunused-variable]
3059 | int ret, pulled_task = 0;
| ^~~~~~~~~~~
kernel/sched/batch.c: At top level:
kernel/sched/batch.c:3209:6: warning: no previous prototype for 'init_offline_cpu_control' [-Wmissing-prototypes]
3209 | void init_offline_cpu_control(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~
vim +2915 kernel/sched/batch.c
2893
> 2894 struct rq *find_busiest_rq(struct rq *this_rq, struct sched_domain *sd,
2895 struct cpumask *mask)
2896 {
2897 int cpu, this_cpu = cpu_of(this_rq), busiest_cpu = -1, overload = 0;
2898 u64 load, busiest_load = 0;
2899 struct rq *rq;
2900
2901 for_each_cpu(cpu, mask) {
2902 rq = cpu_rq(cpu);
2903 if (cpu != this_cpu && rq->bt.h_nr_running > 0) {
2904 load = get_balance_load(rq);
2905 if (load > busiest_load) {
2906 busiest_load = load;
2907 busiest_cpu = cpu;
2908 }
2909 }
2910
2911 if (rq->bt_nr_running > 1)
2912 overload = 1;
2913 }
2914
> 2915 if (!sd->parent) {
> 2916 struct root_domain *rd = this_rq->rd;
2917
> 2918 WRITE_ONCE(rd->overload_bt, overload);
2919 }
2920
2921 if (busiest_cpu != -1)
2922 return cpu_rq(busiest_cpu);
2923 else
2924 return NULL;
2925 }
2926
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-03-18 4:51 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-18 4:51 [opencloudos:linux-5.4/next 26605/27507] kernel/sched/batch.c:2915:16: error: invalid use of undefined type 'struct sched_domain' kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.