projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
62694cd
)
sched: Don't scan all-offline ->cpus_allowed twice if !CONFIG_CPUSETS
author
Oleg Nesterov
<
[email protected]
>
Sat, 10 Oct 2015 18:53:15 +0000
(20:53 +0200)
committer
Ingo Molnar
<
[email protected]
>
Tue, 20 Oct 2015 08:25:57 +0000
(10:25 +0200)
If CONFIG_CPUSETS=n then "case cpuset" changes the state and runs
the already failed for_each_cpu() loop again for no reason.
Signed-off-by: Oleg Nesterov <
[email protected]
>
Signed-off-by: Peter Zijlstra (Intel) <
[email protected]
>
Cc: Andrew Morton <
[email protected]
>
Cc: Linus Torvalds <
[email protected]
>
Cc: Mike Galbraith <
[email protected]
>
Cc: Paul E. McKenney <
[email protected]
>
Cc: Peter Zijlstra <
[email protected]
>
Cc: Rik van Riel <
[email protected]
>
Cc: Tejun Heo <
[email protected]
>
Cc: Thomas Gleixner <
[email protected]
>
Cc: Vitaly Kuznetsov <
[email protected]
>
Cc:
[email protected]
Link:
http://lkml.kernel.org/r/
[email protected]
Signed-off-by: Ingo Molnar <
[email protected]
>
kernel/sched/core.c
patch
|
blob
|
history
diff --git
a/kernel/sched/core.c
b/kernel/sched/core.c
index a7b368e51f69ab763e617fddc3f403a0a39ee487..b4d263db52a6f6d7b09dab05508c91fb526af929 100644
(file)
--- a/
kernel/sched/core.c
+++ b/
kernel/sched/core.c
@@
-1580,13
+1580,15
@@
static int select_fallback_rq(int cpu, struct task_struct *p)
goto out;
}
+ /* No more Mr. Nice Guy. */
switch (state) {
case cpuset:
- /* No more Mr. Nice Guy. */
- cpuset_cpus_allowed_fallback(p);
- state = possible;
- break;
-
+ if (IS_ENABLED(CONFIG_CPUSETS)) {
+ cpuset_cpus_allowed_fallback(p);
+ state = possible;
+ break;
+ }
+ /* fall-through */
case possible:
do_set_cpus_allowed(p, cpu_possible_mask);
state = fail;