[Devel] [PATCH RH8] sched: Uninline css_tg()
Kirill Tkhai
ktkhai at virtuozzo.com
Wed May 5 13:59:35 MSK 2021
Compilation with custom config fails:
kernel/ve/ve.c: In function ‘ve_get_cpu_avenrun’:
kernel/ve/ve.c:1679:27: error: inlining failed in call to always_inline ‘css_tg’: function body not available
inline struct task_group *css_tg(struct cgroup_subsys_state *css);
^~~~~~
kernel/ve/ve.c:1690:7: note: called from here
tg = css_tg(css);
^~~~~~~~~~~
We may remove "inline" attribute, as compiler is clever enought
to make itself inlining in kernel/sched/sched.c.
Signed-off-by: Kirill Tkhai <ktkhai at virtuozzo.com>
---
kernel/sched/core.c | 2 +-
kernel/sched/cpuacct.c | 2 +-
kernel/ve/ve.c | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 3bb7953b084e..375de135c132 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -6767,7 +6767,7 @@ void sched_move_task(struct task_struct *tsk)
task_rq_unlock(rq, tsk, &rf);
}
-inline struct task_group *css_tg(struct cgroup_subsys_state *css)
+struct task_group *css_tg(struct cgroup_subsys_state *css)
{
return css ? container_of(css, struct task_group, css) : NULL;
}
diff --git a/kernel/sched/cpuacct.c b/kernel/sched/cpuacct.c
index 5806d55a5260..33b6987700c2 100644
--- a/kernel/sched/cpuacct.c
+++ b/kernel/sched/cpuacct.c
@@ -376,7 +376,7 @@ struct cgroup_subsys cpuacct_cgrp_subsys = {
.early_init = true,
};
-extern inline struct task_group *css_tg(struct cgroup_subsys_state *css);
+extern struct task_group *css_tg(struct cgroup_subsys_state *css);
static struct task_group *ve_root_tg(struct task_group *tg) {
struct cgroup *cg;
diff --git a/kernel/ve/ve.c b/kernel/ve/ve.c
index f164e2d426a6..5bf187705f2a 100644
--- a/kernel/ve/ve.c
+++ b/kernel/ve/ve.c
@@ -1676,7 +1676,7 @@ int ve_show_loadavg(struct ve_struct *ve, struct seq_file *p)
return err;
}
-inline struct task_group *css_tg(struct cgroup_subsys_state *css);
+struct task_group *css_tg(struct cgroup_subsys_state *css);
int get_avenrun_tg(struct task_group *tg, unsigned long *loads,
unsigned long offset, int shift);
More information about the Devel
mailing list