lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <20071026154620.6195.30586.stgit@novell1.haskins.net> Date: Fri, 26 Oct 2007 11:46:20 -0400 From: Gregory Haskins <ghaskins@...ell.com> To: linux-rt-users@...r.kernel.org Cc: linux-kernel@...r.kernel.org, Gregory Haskins <ghaskins@...ell.com>, Steven Rostedt <rostedt@...dmis.org>, Dmitry Adamushko <dmitry.adamushko@...il.com>, Peter Zijlstra <a.p.zijlstra@...llo.nl>, Ingo Molnar <mingo@...e.hu>, Darren Hart <dvhltc@...ibm.com> Subject: [PATCH 1/2] RT: cleanup some push-rt logic Please fold into original -rt2 patches as appropriate Signed-off-by: Gregory Haskins <ghaskins@...ell.com> --- kernel/sched_rt.c | 10 ++-------- 1 files changed, 2 insertions(+), 8 deletions(-) diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c index 55da7d0..b59dc20 100644 --- a/kernel/sched_rt.c +++ b/kernel/sched_rt.c @@ -292,7 +292,6 @@ static struct rq *find_lock_lowest_rq(struct task_struct *task, { struct rq *lowest_rq = NULL; cpumask_t cpu_mask; - int dst_cpu = -1; int cpu; int tries; @@ -311,14 +310,12 @@ static struct rq *find_lock_lowest_rq(struct task_struct *task, /* We look for lowest RT prio or non-rt CPU */ if (rq->rt.highest_prio >= MAX_RT_PRIO) { lowest_rq = rq; - dst_cpu = cpu; break; } /* no locking for now */ if (rq->rt.highest_prio > task->prio && (!lowest_rq || rq->rt.highest_prio > lowest_rq->rt.highest_prio)) { - dst_cpu = cpu; lowest_rq = rq; } } @@ -335,7 +332,7 @@ static struct rq *find_lock_lowest_rq(struct task_struct *task, * Also make sure that it wasn't scheduled on its rq. */ if (unlikely(task_rq(task) != this_rq || - !cpu_isset(dst_cpu, task->cpus_allowed) || + !cpu_isset(lowest_rq->cpu, task->cpus_allowed) || task_running(this_rq, task) || !task->se.on_rq)) { spin_unlock(&lowest_rq->lock); @@ -365,7 +362,6 @@ static int push_rt_task(struct rq *this_rq) { struct task_struct *next_task; struct rq *lowest_rq; - int dst_cpu; int ret = 0; int paranoid = RT_MAX_TRIES; @@ -412,12 +408,10 @@ static int push_rt_task(struct rq *this_rq) goto out; } - dst_cpu = lowest_rq->cpu; - assert_spin_locked(&lowest_rq->lock); deactivate_task(this_rq, next_task, 0); - set_task_cpu(next_task, dst_cpu); + set_task_cpu(next_task, lowest_rq->cpu); activate_task(lowest_rq, next_task, 0); resched_task(lowest_rq->curr); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists