Commit 71f8bd46 authored by Ingo Molnar's avatar Ingo Molnar

sched: cleanup: move dequeue/enqueue_task()

cleanup: move dequeue/enqueue_task() to a more logical place, to
not split up __normal_prio()/normal_prio().
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent c24d20db
...@@ -671,44 +671,6 @@ static inline void resched_task(struct task_struct *p) ...@@ -671,44 +671,6 @@ static inline void resched_task(struct task_struct *p)
#include "sched_stats.h" #include "sched_stats.h"
/*
* Adding/removing a task to/from a priority array:
*/
static void dequeue_task(struct task_struct *p, struct prio_array *array)
{
array->nr_active--;
list_del(&p->run_list);
if (list_empty(array->queue + p->prio))
__clear_bit(p->prio, array->bitmap);
}
static void enqueue_task(struct task_struct *p, struct prio_array *array)
{
sched_info_queued(p);
list_add_tail(&p->run_list, array->queue + p->prio);
__set_bit(p->prio, array->bitmap);
array->nr_active++;
p->array = array;
}
/*
* Put task to the end of the run list without the overhead of dequeue
* followed by enqueue.
*/
static void requeue_task(struct task_struct *p, struct prio_array *array)
{
list_move_tail(&p->run_list, array->queue + p->prio);
}
static inline void
enqueue_task_head(struct task_struct *p, struct prio_array *array)
{
list_add(&p->run_list, array->queue + p->prio);
__set_bit(p->prio, array->bitmap);
array->nr_active++;
p->array = array;
}
/* /*
* __normal_prio - return the priority that is based on the static * __normal_prio - return the priority that is based on the static
* priority but is modified by bonuses/penalties. * priority but is modified by bonuses/penalties.
...@@ -802,6 +764,44 @@ static inline void dec_nr_running(struct task_struct *p, struct rq *rq) ...@@ -802,6 +764,44 @@ static inline void dec_nr_running(struct task_struct *p, struct rq *rq)
dec_raw_weighted_load(rq, p); dec_raw_weighted_load(rq, p);
} }
/*
* Adding/removing a task to/from a priority array:
*/
static void dequeue_task(struct task_struct *p, struct prio_array *array)
{
array->nr_active--;
list_del(&p->run_list);
if (list_empty(array->queue + p->prio))
__clear_bit(p->prio, array->bitmap);
}
static void enqueue_task(struct task_struct *p, struct prio_array *array)
{
sched_info_queued(p);
list_add_tail(&p->run_list, array->queue + p->prio);
__set_bit(p->prio, array->bitmap);
array->nr_active++;
p->array = array;
}
/*
* Put task to the end of the run list without the overhead of dequeue
* followed by enqueue.
*/
static void requeue_task(struct task_struct *p, struct prio_array *array)
{
list_move_tail(&p->run_list, array->queue + p->prio);
}
static inline void
enqueue_task_head(struct task_struct *p, struct prio_array *array)
{
list_add(&p->run_list, array->queue + p->prio);
__set_bit(p->prio, array->bitmap);
array->nr_active++;
p->array = array;
}
/* /*
* Calculate the expected normal priority: i.e. priority * Calculate the expected normal priority: i.e. priority
* without taking RT-inheritance into account. Might be * without taking RT-inheritance into account. Might be
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment