summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2011-06-25 15:45:46 +0200
committerIngo Molnar <mingo@elte.hu>2011-10-06 12:47:00 +0200
commit4939602a2441306008c6dca38216b741d4e09a42 (patch)
treee22218b6291c934944c8860dedb9f37ffd452ac4 /kernel
parentfa17b507f142d37aeac322a95f6f7c6375f25601 (diff)
downloadlinux-stable-4939602a2441306008c6dca38216b741d4e09a42.tar.gz
linux-stable-4939602a2441306008c6dca38216b741d4e09a42.tar.bz2
linux-stable-4939602a2441306008c6dca38216b741d4e09a42.zip
sched: Unify the ->cpus_allowed mask copy
Currently every sched_class::set_cpus_allowed() implementation has to copy the cpumask into task_struct::cpus_allowed, this is pointless, put this copy in the generic code. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Acked-by: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/n/tip-jhl5s9fckd9ptw1fzbqqlrd3@git.kernel.org Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/sched.c7
-rw-r--r--kernel/sched_rt.c3
2 files changed, 3 insertions, 7 deletions
diff --git a/kernel/sched.c b/kernel/sched.c
index 45174ca5c8ea..ce9a9e7db116 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -6161,10 +6161,9 @@ void do_set_cpus_allowed(struct task_struct *p, const struct cpumask *new_mask)
{
if (p->sched_class && p->sched_class->set_cpus_allowed)
p->sched_class->set_cpus_allowed(p, new_mask);
- else {
- cpumask_copy(&p->cpus_allowed, new_mask);
- p->rt.nr_cpus_allowed = cpumask_weight(new_mask);
- }
+
+ cpumask_copy(&p->cpus_allowed, new_mask);
+ p->rt.nr_cpus_allowed = cpumask_weight(new_mask);
}
/*
diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c
index 57a10842afa1..3023fd1ef364 100644
--- a/kernel/sched_rt.c
+++ b/kernel/sched_rt.c
@@ -1608,9 +1608,6 @@ static void set_cpus_allowed_rt(struct task_struct *p,
update_rt_migration(&rq->rt);
}
-
- cpumask_copy(&p->cpus_allowed, new_mask);
- p->rt.nr_cpus_allowed = weight;
}
/* Assumes rq->lock is held */