summaryrefslogtreecommitdiff
path: root/kernel/sched_fair.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2010-01-19 16:09:11 +0100
committerThomas Gleixner <tglx@linutronix.de>2010-02-21 20:20:10 +0100
commit6640be50e8a2f9bd526beddafd23b49406a4af07 (patch)
tree3a2cef9f3b60fd9edeea265e3ec6226e421e356a /kernel/sched_fair.c
parent57bba6a44244a9c7cef5951041bdd3f747b28ed0 (diff)
downloadlwn-6640be50e8a2f9bd526beddafd23b49406a4af07.tar.gz
lwn-6640be50e8a2f9bd526beddafd23b49406a4af07.zip
sched: Extend enqueue_task to allow head queueing
The ability of enqueueing a task to the head of a SCHED_FIFO priority list is required to fix some violations of POSIX scheduling policy. Extend the related functions with a "head" argument. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/sched_fair.c')
-rw-r--r--kernel/sched_fair.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
index be1772e37dc3..cff45e488188 100644
--- a/kernel/sched_fair.c
+++ b/kernel/sched_fair.c
@@ -1057,7 +1057,8 @@ static inline void hrtick_update(struct rq *rq)
* increased. Here we update the fair scheduling stats and
* then put the task into the rbtree:
*/
-static void enqueue_task_fair(struct rq *rq, struct task_struct *p, int wakeup)
+static void
+enqueue_task_fair(struct rq *rq, struct task_struct *p, int wakeup, bool head)
{
struct cfs_rq *cfs_rq;
struct sched_entity *se = &p->se;