[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1295415657.8017.113.camel@marge.simson.net>
Date: Wed, 19 Jan 2011 06:40:57 +0100
From: Mike Galbraith <efault@....de>
To: Yong Zhang <yong.zhang0@...il.com>
Cc: Peter Zijlstra <peterz@...radead.org>, samu.p.onkalo@...ia.com,
mingo@...e.hu,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
tglx <tglx@...utronix.de>
Subject: Re: Bug in scheduler when using rt_mutex
On Wed, 2011-01-19 at 12:35 +0800, Yong Zhang wrote:
> cfs_rq->curr != se is always true.
If that were always true, we'd illegally enqueue a running task.
if (running)
p->sched_class->set_curr_task(rq);
==> set_curr_task_fair(rq);
==> struct sched_entity *se = &rq->curr->se;
==> set_next_entity(cfs_rq_of(se), se);
==> cfs_rq->curr = se;
(prevents running entity from being enqueued below)
if (on_rq) {
enqueue_task(rq, p, oldprio < prio ? ENQUEUE_HEAD : 0);
check_class_changed(rq, p, prev_class, oldprio, running);
}
-Mike
--
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