mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 06:31:49 +00:00
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: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
c24d20dbef
commit
71f8bd4600
@ -671,44 +671,6 @@ static inline void resched_task(struct task_struct *p)
|
||||
|
||||
#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
|
||||
* priority but is modified by bonuses/penalties.
|
||||
@ -802,6 +764,44 @@ static inline void dec_nr_running(struct task_struct *p, struct rq *rq)
|
||||
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
|
||||
* without taking RT-inheritance into account. Might be
|
||||
|
Loading…
Reference in New Issue
Block a user