All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] sched/core: remove check of p->sched_class
@ 2014-12-29  6:41 Yao Dongdong
  2015-01-06 10:44 ` Peter Zijlstra
  2015-01-14 14:02 ` [tip:sched/core] sched/core: Remove " tip-bot for Yao Dongdong
  0 siblings, 2 replies; 3+ messages in thread
From: Yao Dongdong @ 2014-12-29  6:41 UTC (permalink / raw)
  To: mingo, peterz; +Cc: linux-kernel, lizefan

Search all usage of p->sched_class in sched/core.c, no one check it
before use, so it seems that every task must belong to one sched_class.

Signed-off-by: Yao Dongdong <yaodongdong@huawei.com>
---
 kernel/sched/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index b5797b7..bdab49b 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -4740,7 +4740,7 @@ static struct rq *move_queued_task(struct task_struct *p, int new_cpu)
 
 void do_set_cpus_allowed(struct task_struct *p, const struct cpumask *new_mask)
 {
-	if (p->sched_class && p->sched_class->set_cpus_allowed)
+	if (p->sched_class->set_cpus_allowed)
 		p->sched_class->set_cpus_allowed(p, new_mask);
 
 	cpumask_copy(&p->cpus_allowed, new_mask);
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] sched/core: remove check of p->sched_class
  2014-12-29  6:41 [PATCH] sched/core: remove check of p->sched_class Yao Dongdong
@ 2015-01-06 10:44 ` Peter Zijlstra
  2015-01-14 14:02 ` [tip:sched/core] sched/core: Remove " tip-bot for Yao Dongdong
  1 sibling, 0 replies; 3+ messages in thread
From: Peter Zijlstra @ 2015-01-06 10:44 UTC (permalink / raw)
  To: Yao Dongdong; +Cc: mingo, linux-kernel, lizefan

On Mon, Dec 29, 2014 at 02:41:43PM +0800, Yao Dongdong wrote:
> Search all usage of p->sched_class in sched/core.c, no one check it
> before use, so it seems that every task must belong to one sched_class.
> 

Thanks

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [tip:sched/core] sched/core: Remove check of p->sched_class
  2014-12-29  6:41 [PATCH] sched/core: remove check of p->sched_class Yao Dongdong
  2015-01-06 10:44 ` Peter Zijlstra
@ 2015-01-14 14:02 ` tip-bot for Yao Dongdong
  1 sibling, 0 replies; 3+ messages in thread
From: tip-bot for Yao Dongdong @ 2015-01-14 14:02 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: tglx, yaodongdong, torvalds, mingo, hpa, linux-kernel, peterz

Commit-ID:  1b537c7d1e58c761212a193085f9049b58f672e6
Gitweb:     http://git.kernel.org/tip/1b537c7d1e58c761212a193085f9049b58f672e6
Author:     Yao Dongdong <yaodongdong@huawei.com>
AuthorDate: Mon, 29 Dec 2014 14:41:43 +0800
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Wed, 14 Jan 2015 13:34:17 +0100

sched/core: Remove check of p->sched_class

Search all usage of p->sched_class in sched/core.c, no one check it
before use, so it seems that every task must belong to one sched_class.

Signed-off-by: Yao Dongdong <yaodongdong@huawei.com>
[ Moved the early class assignment to make it boot. ]
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/1419835303-28958-1-git-send-email-yaodongdong@huawei.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 kernel/sched/core.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 95ac795..46a2345 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -4744,7 +4744,7 @@ static struct rq *move_queued_task(struct task_struct *p, int new_cpu)
 
 void do_set_cpus_allowed(struct task_struct *p, const struct cpumask *new_mask)
 {
-	if (p->sched_class && p->sched_class->set_cpus_allowed)
+	if (p->sched_class->set_cpus_allowed)
 		p->sched_class->set_cpus_allowed(p, new_mask);
 
 	cpumask_copy(&p->cpus_allowed, new_mask);
@@ -7254,6 +7254,11 @@ void __init sched_init(void)
 	enter_lazy_tlb(&init_mm, current);
 
 	/*
+	 * During early bootup we pretend to be a normal task:
+	 */
+	current->sched_class = &fair_sched_class;
+
+	/*
 	 * Make us the idle thread. Technically, schedule() should not be
 	 * called from this thread, however somewhere below it might be,
 	 * but because we are the idle thread, we just pick up running again
@@ -7263,11 +7268,6 @@ void __init sched_init(void)
 
 	calc_load_update = jiffies + LOAD_FREQ;
 
-	/*
-	 * During early bootup we pretend to be a normal task:
-	 */
-	current->sched_class = &fair_sched_class;
-
 #ifdef CONFIG_SMP
 	zalloc_cpumask_var(&sched_domains_tmpmask, GFP_NOWAIT);
 	/* May be allocated at isolcpus cmdline parse time */

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-01-14 14:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-29  6:41 [PATCH] sched/core: remove check of p->sched_class Yao Dongdong
2015-01-06 10:44 ` Peter Zijlstra
2015-01-14 14:02 ` [tip:sched/core] sched/core: Remove " tip-bot for Yao Dongdong

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.