lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 12 Jan 2021 16:53:40 +0100 From: Daniel Bristot de Oliveira <bristot@...hat.com> To: linux-kernel@...r.kernel.org Cc: Marco Perronet <perronet@...-sws.org>, Daniel Bristot de Oliveira <bristot@...hat.com>, Ingo Molnar <mingo@...hat.com>, Peter Zijlstra <peterz@...radead.org>, Juri Lelli <juri.lelli@...hat.com>, Vincent Guittot <vincent.guittot@...aro.org>, Dietmar Eggemann <dietmar.eggemann@....com>, Steven Rostedt <rostedt@...dmis.org>, Ben Segall <bsegall@...gle.com>, Mel Gorman <mgorman@...e.de>, Li Zefan <lizefan@...wei.com>, Tejun Heo <tj@...nel.org>, Johannes Weiner <hannes@...xchg.org>, Valentin Schneider <valentin.schneider@....com>, cgroups@...r.kernel.org Subject: [PATCH 1/6] sched/deadline: Consolidate the SCHED_DL task_can_attach() check on its own function It is easier to track the restrictions imposed on SCHED_DEADLINE tasks if we keep them all together in a single function. No function changes. Signed-off-by: Daniel Bristot de Oliveira <bristot@...hat.com> Cc: Ingo Molnar <mingo@...hat.com> Cc: Peter Zijlstra <peterz@...radead.org> Cc: Juri Lelli <juri.lelli@...hat.com> Cc: Vincent Guittot <vincent.guittot@...aro.org> Cc: Dietmar Eggemann <dietmar.eggemann@....com> Cc: Steven Rostedt <rostedt@...dmis.org> Cc: Ben Segall <bsegall@...gle.com> Cc: Mel Gorman <mgorman@...e.de> Cc: Daniel Bristot de Oliveira <bristot@...hat.com> Cc: Li Zefan <lizefan@...wei.com> Cc: Tejun Heo <tj@...nel.org> Cc: Johannes Weiner <hannes@...xchg.org> Cc: Valentin Schneider <valentin.schneider@....com> Cc: linux-kernel@...r.kernel.org Cc: cgroups@...r.kernel.org --- kernel/sched/core.c | 3 +-- kernel/sched/deadline.c | 7 +++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 7af80c3fce12..f4aede34449c 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -7142,8 +7142,7 @@ int task_can_attach(struct task_struct *p, goto out; } - if (dl_task(p) && !cpumask_intersects(task_rq(p)->rd->span, - cs_cpus_allowed)) + if (dl_task(p)) ret = dl_task_can_attach(p, cs_cpus_allowed); out: diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c index 75686c6d4436..c97d2c707b98 100644 --- a/kernel/sched/deadline.c +++ b/kernel/sched/deadline.c @@ -2870,6 +2870,13 @@ int dl_task_can_attach(struct task_struct *p, const struct cpumask *cs_cpus_allo bool overflow; int ret; + /* + * The task is not moving to another root domain, so it is + * already accounted. + */ + if (cpumask_intersects(task_rq(p)->rd->span, cs_cpus_allowed)) + return 0; + dest_cpu = cpumask_any_and(cpu_active_mask, cs_cpus_allowed); rcu_read_lock_sched(); -- 2.29.2
Powered by blists - more mailing lists