sched: Fix build warning without CONFIG_SYSCTL
IF CONFIG_SYSCTL is n, build warn:
kernel/sched/core.c:1782:12: warning: ‘sysctl_sched_uclamp_handler’ defined but not used [-Wunused-function]
static int sysctl_sched_uclamp_handler(struct ctl_table *table, int write,
^~~~~~~~~~~~~~~~~~~~~~~~~~~
sysctl_sched_uclamp_handler() is used while CONFIG_SYSCTL enabled,
wrap all related code with CONFIG_SYSCTL to fix this.
Fixes: 3267e0156c
("sched: Move uclamp_util sysctls to core.c")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
This commit is contained in:
parent
764aaf44cd
commit
494dcdf46e
@ -1306,10 +1306,10 @@ static void set_load_weight(struct task_struct *p, bool update_load)
|
||||
static DEFINE_MUTEX(uclamp_mutex);
|
||||
|
||||
/* Max allowed minimum utilization */
|
||||
static unsigned int sysctl_sched_uclamp_util_min = SCHED_CAPACITY_SCALE;
|
||||
static unsigned int __maybe_unused sysctl_sched_uclamp_util_min = SCHED_CAPACITY_SCALE;
|
||||
|
||||
/* Max allowed maximum utilization */
|
||||
static unsigned int sysctl_sched_uclamp_util_max = SCHED_CAPACITY_SCALE;
|
||||
static unsigned int __maybe_unused sysctl_sched_uclamp_util_max = SCHED_CAPACITY_SCALE;
|
||||
|
||||
/*
|
||||
* By default RT tasks run at the maximum performance point/capacity of the
|
||||
@ -1456,33 +1456,6 @@ static void uclamp_update_util_min_rt_default(struct task_struct *p)
|
||||
task_rq_unlock(rq, p, &rf);
|
||||
}
|
||||
|
||||
static void uclamp_sync_util_min_rt_default(void)
|
||||
{
|
||||
struct task_struct *g, *p;
|
||||
|
||||
/*
|
||||
* copy_process() sysctl_uclamp
|
||||
* uclamp_min_rt = X;
|
||||
* write_lock(&tasklist_lock) read_lock(&tasklist_lock)
|
||||
* // link thread smp_mb__after_spinlock()
|
||||
* write_unlock(&tasklist_lock) read_unlock(&tasklist_lock);
|
||||
* sched_post_fork() for_each_process_thread()
|
||||
* __uclamp_sync_rt() __uclamp_sync_rt()
|
||||
*
|
||||
* Ensures that either sched_post_fork() will observe the new
|
||||
* uclamp_min_rt or for_each_process_thread() will observe the new
|
||||
* task.
|
||||
*/
|
||||
read_lock(&tasklist_lock);
|
||||
smp_mb__after_spinlock();
|
||||
read_unlock(&tasklist_lock);
|
||||
|
||||
rcu_read_lock();
|
||||
for_each_process_thread(g, p)
|
||||
uclamp_update_util_min_rt_default(p);
|
||||
rcu_read_unlock();
|
||||
}
|
||||
|
||||
static inline struct uclamp_se
|
||||
uclamp_tg_restrict(struct task_struct *p, enum uclamp_id clamp_id)
|
||||
{
|
||||
@ -1762,6 +1735,11 @@ uclamp_update_active_tasks(struct cgroup_subsys_state *css)
|
||||
}
|
||||
|
||||
static void cpu_util_update_eff(struct cgroup_subsys_state *css);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SYSCTL
|
||||
#ifdef CONFIG_UCLAMP_TASK
|
||||
#ifdef CONFIG_UCLAMP_TASK_GROUP
|
||||
static void uclamp_update_root_tg(void)
|
||||
{
|
||||
struct task_group *tg = &root_task_group;
|
||||
@ -1779,6 +1757,33 @@ static void uclamp_update_root_tg(void)
|
||||
static void uclamp_update_root_tg(void) { }
|
||||
#endif
|
||||
|
||||
static void uclamp_sync_util_min_rt_default(void)
|
||||
{
|
||||
struct task_struct *g, *p;
|
||||
|
||||
/*
|
||||
* copy_process() sysctl_uclamp
|
||||
* uclamp_min_rt = X;
|
||||
* write_lock(&tasklist_lock) read_lock(&tasklist_lock)
|
||||
* // link thread smp_mb__after_spinlock()
|
||||
* write_unlock(&tasklist_lock) read_unlock(&tasklist_lock);
|
||||
* sched_post_fork() for_each_process_thread()
|
||||
* __uclamp_sync_rt() __uclamp_sync_rt()
|
||||
*
|
||||
* Ensures that either sched_post_fork() will observe the new
|
||||
* uclamp_min_rt or for_each_process_thread() will observe the new
|
||||
* task.
|
||||
*/
|
||||
read_lock(&tasklist_lock);
|
||||
smp_mb__after_spinlock();
|
||||
read_unlock(&tasklist_lock);
|
||||
|
||||
rcu_read_lock();
|
||||
for_each_process_thread(g, p)
|
||||
uclamp_update_util_min_rt_default(p);
|
||||
rcu_read_unlock();
|
||||
}
|
||||
|
||||
static int sysctl_sched_uclamp_handler(struct ctl_table *table, int write,
|
||||
void *buffer, size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
@ -1843,6 +1848,8 @@ static int sysctl_sched_uclamp_handler(struct ctl_table *table, int write,
|
||||
|
||||
return result;
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
static int uclamp_validate(struct task_struct *p,
|
||||
const struct sched_attr *attr)
|
||||
|
Loading…
Reference in New Issue
Block a user