diff options
author | Dietmar Eggemann <dietmar.eggemann@arm.com> | 2022-03-02 21:34:30 +0300 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2022-03-08 18:08:39 +0300 |
commit | 772b6539fdda31462cc08368e78df60b31a58bab (patch) | |
tree | 3c7a704344601c626a28aa7b2e76e30abcb7dbb7 /kernel/sched/sched.h | |
parent | f1304ecbef3c9f4aec119ce2a07335d3a0bc55a6 (diff) | |
download | linux-772b6539fdda31462cc08368e78df60b31a58bab.tar.xz |
sched/deadline: Merge dl_task_can_attach() and dl_cpu_busy()
Both functions are doing almost the same, that is checking if admission
control is still respected.
With exclusive cpusets, dl_task_can_attach() checks if the destination
cpuset (i.e. its root domain) has enough CPU capacity to accommodate the
task.
dl_cpu_busy() checks if there is enough CPU capacity in the cpuset in
case the CPU is hot-plugged out.
dl_task_can_attach() is used to check if a task can be admitted while
dl_cpu_busy() is used to check if a CPU can be hotplugged out.
Make dl_cpu_busy() able to deal with a task and use it instead of
dl_task_can_attach() in task_can_attach().
Signed-off-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Juri Lelli <juri.lelli@redhat.com>
Link: https://lore.kernel.org/r/20220302183433.333029-4-dietmar.eggemann@arm.com
Diffstat (limited to 'kernel/sched/sched.h')
-rw-r--r-- | kernel/sched/sched.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h index 4dfc3b02df61..0720cf0c7df1 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -324,9 +324,8 @@ extern void __setparam_dl(struct task_struct *p, const struct sched_attr *attr); extern void __getparam_dl(struct task_struct *p, struct sched_attr *attr); extern bool __checkparam_dl(const struct sched_attr *attr); extern bool dl_param_changed(struct task_struct *p, const struct sched_attr *attr); -extern int dl_task_can_attach(struct task_struct *p, const struct cpumask *cs_cpus_allowed); extern int dl_cpuset_cpumask_can_shrink(const struct cpumask *cur, const struct cpumask *trial); -extern bool dl_cpu_busy(unsigned int cpu); +extern int dl_cpu_busy(int cpu, struct task_struct *p); #ifdef CONFIG_CGROUP_SCHED |