task_running(rq,p) is equivalent to (rq->curr == p) only for some
architectures. Boot tested on i386.
Regards,
Joe
diff -Nua 2.6/kernel/sched.c.0 2.6/kernel/sched.c
--- 2.6/kernel/sched.c.0 2004-01-13 17:53:34.000000000 -0500
+++ 2.6/kernel/sched.c 2004-01-13 17:47:33.000000000 -0500
@@ -2062,7 +2062,7 @@
* our priority decreased, or if we are not currently running on
* this runqueue and our priority is higher than the current's
*/
- if (rq->curr == p) {
+ if (task_running(rq, p)) {
if (p->prio > oldprio)
resched_task(rq->curr);
} else if (p->prio < rq->curr->prio)
On Tue, 2004-01-13 at 18:02, Joe Korty wrote:
> task_running(rq,p) is equivalent to (rq->curr == p) only for some
> architectures. Boot tested on i386.
Oh, good catch.
Andrew, mind taking this?
Thanks, Joe.
Robert Love
diff -Nua 2.6/kernel/sched.c.0 2.6/kernel/sched.c
--- 2.6/kernel/sched.c.0 2004-01-13 17:53:34.000000000 -0500
+++ 2.6/kernel/sched.c 2004-01-13 17:47:33.000000000 -0500
@@ -2062,7 +2062,7 @@
* our priority decreased, or if we are not currently running on
* this runqueue and our priority is higher than the current's
*/
- if (rq->curr == p) {
+ if (task_running(rq, p)) {
if (p->prio > oldprio)
resched_task(rq->curr);
} else if (p->prio < rq->curr->prio)
* Joe Korty <[email protected]> wrote:
> task_running(rq,p) is equivalent to (rq->curr == p) only for some
> architectures. Boot tested on i386.
> - if (rq->curr == p) {
> + if (task_running(rq, p)) {
indeed - good catch. Andrew, please apply.
Ingo