Messages in this thread | | | Date | Thu, 7 Nov 2019 07:25:25 +0000 | From | Patrick Bellasi <> | Subject | Re: [PATCH] sched: core: fix compilation error when cgroup not selected |
| |
[ +Randy ]
Hi Qais,
On 05-Nov 11:22, Qais Yousef wrote: > When cgroup is disabled the following compilation error was hit > > kernel/sched/core.c: In function ‘uclamp_update_active_tasks’: > kernel/sched/core.c:1081:23: error: storage size of ‘it’ isn’t known > struct css_task_iter it; > ^~ > kernel/sched/core.c:1084:2: error: implicit declaration of function ‘css_task_iter_start’; did you mean ‘__sg_page_iter_start’? [-Werror=implicit-function-declaration] > css_task_iter_start(css, 0, &it); > ^~~~~~~~~~~~~~~~~~~ > __sg_page_iter_start > kernel/sched/core.c:1085:14: error: implicit declaration of function ‘css_task_iter_next’; did you mean ‘__sg_page_iter_next’? [-Werror=implicit-function-declaration] > while ((p = css_task_iter_next(&it))) { > ^~~~~~~~~~~~~~~~~~ > __sg_page_iter_next > kernel/sched/core.c:1091:2: error: implicit declaration of function ‘css_task_iter_end’; did you mean ‘get_task_cred’? [-Werror=implicit-function-declaration] > css_task_iter_end(&it); > ^~~~~~~~~~~~~~~~~ > get_task_cred > kernel/sched/core.c:1081:23: warning: unused variable ‘it’ [-Wunused-variable] > struct css_task_iter it; > ^~ > cc1: some warnings being treated as errors > make[2]: *** [kernel/sched/core.o] Error 1 > > Fix by protetion uclamp_update_active_tasks() with > CONFIG_UCLAMP_TASK_GROUP > > Fixes: babbe170e053 ("sched/uclamp: Update CPU's refcount on TG's clamp changes") > Signed-off-by: Qais Yousef <qais.yousef@arm.com>
Thanks for posting this again.
We now have three "versions" of this same fix, including: - the original bug report by Randy and a fix from me here: Message-ID: <8736gv2gbv.fsf@arm.com> https://lore.kernel.org/linux-next/8736gv2gbv.fsf@arm.com/ - and a follow up patch from Arnd: Message-ID: <20190918195957.2220297-1-arnd@arndb.de> https://lore.kernel.org/lkml/20190918195957.2220297-1-arnd@arndb.de/
So, I guess now we just have to pick the one with the changelog we prefer. :)
In all cases we should probably add:
Reported-by: Randy Dunlap <rdunlap@infradead.org> Tested-by: Randy Dunlap <rdunlap@infradead.org>
Best, Patrick
> --- > kernel/sched/core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kernel/sched/core.c b/kernel/sched/core.c > index dd05a378631a..afd4d8028771 100644 > --- a/kernel/sched/core.c > +++ b/kernel/sched/core.c > @@ -1073,6 +1073,7 @@ uclamp_update_active(struct task_struct *p, enum uclamp_id clamp_id) > task_rq_unlock(rq, p, &rf); > } > > +#ifdef CONFIG_UCLAMP_TASK_GROUP > static inline void > uclamp_update_active_tasks(struct cgroup_subsys_state *css, > unsigned int clamps) > @@ -1091,7 +1092,6 @@ uclamp_update_active_tasks(struct cgroup_subsys_state *css, > css_task_iter_end(&it); > } > > -#ifdef CONFIG_UCLAMP_TASK_GROUP > static void cpu_util_update_eff(struct cgroup_subsys_state *css); > static void uclamp_update_root_tg(void) > { > -- > 2.17.1 >
-- #include <best/regards.h>
Patrick Bellasi
| |