From: Qais Yousef <qais.yousef@arm.com> To: Ingo Molnar <mingo@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Steven Rostedt <rostedt@goodmis.org>, Dietmar Eggemann <dietmar.eggemann@arm.com>, Pavan Kondeti <pkondeti@codeaurora.org> Cc: Juri Lelli <juri.lelli@redhat.com>, Vincent Guittot <vincent.guittot@linaro.org>, Ben Segall <bsegall@google.com>, Mel Gorman <mgorman@suse.de>, linux-kernel@vger.kernel.org, Qais Yousef <qais.yousef@arm.com> Subject: [PATCH v2 4/6] sched/rt: allow pulling unfitting task Date: Sun, 23 Feb 2020 18:39:59 +0000 [thread overview] Message-ID: <20200223184001.14248-5-qais.yousef@arm.com> (raw) In-Reply-To: <20200223184001.14248-1-qais.yousef@arm.com> When implemented RT Capacity Awareness; the logic was done such that if a task was running on a fitting CPU, then it was sticky and we would try our best to keep it there. But as Steve suggested, to adhere to the strict priority rules of RT class; allow pulling an RT task to unfitting CPU to ensure it gets a chance to run ASAP. Suggested-by: Steven Rostedt <rostedt@goodmis.org> Fixes: 804d402fb6f6 ("sched/rt: Make RT capacity-aware") LINK: https://lore.kernel.org/lkml/20200203111451.0d1da58f@oasis.local.home/ Signed-off-by: Qais Yousef <qais.yousef@arm.com> --- kernel/sched/rt.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c index e48d7c215aee..9ae8a9fabe8b 100644 --- a/kernel/sched/rt.c +++ b/kernel/sched/rt.c @@ -1656,8 +1656,7 @@ static void put_prev_task_rt(struct rq *rq, struct task_struct *p) static int pick_rt_task(struct rq *rq, struct task_struct *p, int cpu) { if (!task_running(rq, p) && - cpumask_test_cpu(cpu, p->cpus_ptr) && - rt_task_fits_capacity(p, cpu)) + cpumask_test_cpu(cpu, p->cpus_ptr)) return 1; return 0; -- 2.17.1
next prev parent reply other threads:[~2020-02-23 18:40 UTC|newest] Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-02-23 18:39 [PATCH v2 0/6] RT Capacity Awareness Fixes & Improvements Qais Yousef 2020-02-23 18:39 ` [PATCH v2 1/6] sched/rt: cpupri_find: implement fallback mechanism for !fit case Qais Yousef 2020-02-23 18:39 ` [PATCH v2 2/6] sched/rt: Re-instate old behavior in select_task_rq_rt Qais Yousef 2020-02-25 15:21 ` Dietmar Eggemann 2020-02-26 11:34 ` Qais Yousef 2020-02-23 18:39 ` [PATCH v2 3/6] sched/rt: Optimize cpupri_find on non-heterogenous systems Qais Yousef 2020-02-23 18:39 ` Qais Yousef [this message] 2020-02-23 18:40 ` [PATCH v2 5/6] sched/rt: Better manage pushing unfit tasks on wakeup Qais Yousef 2020-02-24 6:10 ` Pavan Kondeti 2020-02-24 12:11 ` Qais Yousef 2020-02-24 16:04 ` Pavan Kondeti 2020-02-24 17:41 ` Qais Yousef 2020-02-25 3:55 ` Pavan Kondeti 2020-02-26 16:02 ` Qais Yousef 2020-02-27 3:36 ` Pavan Kondeti 2020-02-27 10:29 ` Qais Yousef 2020-02-23 18:40 ` [PATCH v2 6/6] sched/rt: Remove unnecessary assignment in inc/dec_rt_migration Qais Yousef 2020-02-23 23:16 ` Dietmar Eggemann 2020-02-24 12:31 ` Qais Yousef 2020-02-24 13:03 ` Dietmar Eggemann 2020-02-24 13:47 ` Qais Yousef
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200223184001.14248-5-qais.yousef@arm.com \ --to=qais.yousef@arm.com \ --cc=bsegall@google.com \ --cc=dietmar.eggemann@arm.com \ --cc=juri.lelli@redhat.com \ --cc=linux-kernel@vger.kernel.org \ --cc=mgorman@suse.de \ --cc=mingo@kernel.org \ --cc=peterz@infradead.org \ --cc=pkondeti@codeaurora.org \ --cc=rostedt@goodmis.org \ --cc=vincent.guittot@linaro.org \ --subject='Re: [PATCH v2 4/6] sched/rt: allow pulling unfitting task' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).