TT-CPU-Scheduler
TT-CPU-Scheduler copied to clipboard
Build error: implicit declaration of function ‘update_load_add’
Hello.
Trying out TT for the first time, and compiling against 5.16.4 with the tt-5.16.patch
fails with the following error:
In file included from kernel/sched/bs.c:11:
kernel/sched/bs.h: In function ‘account_entity_enqueue’:
kernel/sched/bs.h:206:9: error: implicit declaration of function ‘update_load_add’; did you mean ‘update_load_avg’? [-Werror=implicit-function-declaration]
206 | update_load_add(&cfs_rq->load, se->load.weight);
| ^~~~~~~~~~~~~~~
| update_load_avg
kernel/sched/bs.h: In function ‘account_entity_dequeue’:
kernel/sched/bs.h:217:9: error: implicit declaration of function ‘update_load_sub’; did you mean ‘update_load_avg’? [-Werror=implicit-function-declaration]
217 | update_load_sub(&cfs_rq->load, se->load.weight);
| ^~~~~~~~~~~~~~~
| update_load_avg
In file included from kernel/sched/bs.c:1595:
kernel/sched/bs_nohz.h: In function ‘nohz_try_pull_from_candidate’:
kernel/sched/bs_nohz.h:719:24: warning: unused variable ‘cfs_rq’ [-Wunused-variable]
719 | struct cfs_rq *cfs_rq;
| ^~~~~~
.config: config.txt
I'd get similar errors while trying to build it with TT_ACCOUNTING_STATS disabled. Try setting it to Y and see if that fixes it. A workaround, sure, but I doubt the added stats incur any noticeable overhead.
5.15 seems to not be affected by this. Perhaps we could take a look at what changed? Probably an added directive or two could fix it.