[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180528012447.115411-1-joel@joelfernandes.org>
Date: Sun, 27 May 2018 18:24:47 -0700
From: "Joel Fernandes (Google)" <joelaf@...gle.com>
To: linux-kernel@...r.kernel.org
Cc: "Joel Fernandes (Google)" <joel@...lfernandes.org>,
Dietmar Eggemann <dietmar.eggemann@....com>,
Morten Ramussen <morten.rasmussen@....com>,
Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
Juri Lelli <juri.lelli@...hat.com>,
Vincent Guittot <vincent.guittot@...aro.org>,
Patrick Bellasi <patrick.bellasi@....com>,
Rohit Jain <rohit.k.jain@...cle.com>, kernel-team@...roid.com
Subject: [PATCH v2] sched: Remove obscure comment from select_task_rq_fair
I was playing with cpusets and sched_load_balance flag and notice that
the fast-path (select_idle_sibling) can also be attempted for
exec-balance, not just wake-balance if the waker cpu's cpuset has
sched_load_balance = 0. This patch removes the obscure comment which was
saying this path can be entered only for wake-balance.
To trigger this, I just do:
mkdir /cpuset
mount -t cpuset none /cpuset
echo 0 > sched_load_balance
Then did some random activity and dumped the stack from 'if (!sd)' for
the non wake-balance cases.
Following is one of the stacks:
dump_stack+0x46/0x5b
select_task_rq_fair+0x101d/0x1030
sched_exec+0x4f/0xc0
do_execveat_common.isra.41+0x1e3/0x7c0
__x64_sys_execve+0x2d/0x40
do_syscall_64+0x43/0xf0
entry_SYSCALL_64_after_hwframe+0x44/0xa9
Turns out the same case occurs also during boot up when kthreadd tries
to create threads before domains are attached so lets fix the comment.
Cc: Dietmar Eggemann <dietmar.eggemann@....com>
Cc: Morten Ramussen <morten.rasmussen@....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: Patrick Bellasi <patrick.bellasi@....com>
Cc: Rohit Jain <rohit.k.jain@...cle.com>
Cc: kernel-team@...roid.com
Signed-off-by: Joel Fernandes (Google) <joel@...lfernandes.org>
---
v1->v2: Resending without "XXX" in subject since otherwise LKML thinks
its junk.
kernel/sched/fair.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 54dc31e7ab9b..dd07794141d0 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -6665,7 +6665,7 @@ select_task_rq_fair(struct task_struct *p, int prev_cpu, int sd_flag, int wake_f
if (!sd) {
pick_cpu:
- if (sd_flag & SD_BALANCE_WAKE) { /* XXX always ? */
+ if (sd_flag & SD_BALANCE_WAKE) {
new_cpu = select_idle_sibling(p, prev_cpu, new_cpu);
if (want_affine)
--
2.17.0.921.gf22659ad46-goog
Powered by blists - more mailing lists