lkml.org 
[lkml]   [2002]   [Jan]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Subject[PATCH] O(1) scheduler unlock_task_rq
From
Date
In Ingo's new O(1) scheduler, unlock_task_rq takes a pointless argument
(task_t * p).

This patch, against 2.5.3-pre2 + J2, removes the argument and fixes all
known uses of the function.

Robert Love
--- linux-2.5.3-pre2-ingo-J2/kernel/sched.c Sun Jan 20 18:35:58 2002
+++ linux/kernel/sched.c Sun Jan 20 18:36:59 2002
@@ -70,11 +70,11 @@
return __rq;
}

-static inline void unlock_task_rq(runqueue_t *rq, task_t *p,
- unsigned long *flags)
+static inline void unlock_task_rq(runqueue_t *rq, unsigned long *flags)
{
spin_unlock_irqrestore(&rq->lock, *flags);
}
+
/*
* Adding/removing a task to/from a priority array:
*/
@@ -202,10 +202,10 @@
}
rq = lock_task_rq(p, &flags);
if (unlikely(rq->curr == p)) {
- unlock_task_rq(rq, p, &flags);
+ unlock_task_rq(rq, &flags);
goto repeat;
}
- unlock_task_rq(rq, p, &flags);
+ unlock_task_rq(rq, &flags);
}

/*
@@ -260,7 +260,7 @@
resched_task(rq->curr);
success = 1;
}
- unlock_task_rq(rq, p, &flags);
+ unlock_task_rq(rq, &flags);
return success;
}

@@ -639,7 +639,6 @@
spin_unlock_irq(&rq->lock);

reacquire_kernel_lock(current);
- return;
}

/*
@@ -846,7 +845,7 @@
resched_task(rq->curr);
}
out_unlock:
- unlock_task_rq(rq, p, &flags);
+ unlock_task_rq(rq, &flags);
}

#ifndef __alpha__
@@ -966,7 +965,7 @@
activate_task(p, task_rq(p));

out_unlock:
- unlock_task_rq(rq, p, &flags);
+ unlock_task_rq(rq, &flags);
out_unlock_tasklist:
read_unlock_irq(&tasklist_lock);
\
 
 \ /
  Last update: 2005-03-22 13:15    [W:0.027 / U:27.120 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site