|
@@ -1778,17 +1778,20 @@ static void dec_nr_running(struct rq *rq)
|
|
|
|
|
|
static void set_load_weight(struct task_struct *p)
|
|
static void set_load_weight(struct task_struct *p)
|
|
{
|
|
{
|
|
|
|
+ int prio = p->static_prio - MAX_RT_PRIO;
|
|
|
|
+ struct load_weight *load = &p->se.load;
|
|
|
|
+
|
|
/*
|
|
/*
|
|
* SCHED_IDLE tasks get minimal weight:
|
|
* SCHED_IDLE tasks get minimal weight:
|
|
*/
|
|
*/
|
|
if (p->policy == SCHED_IDLE) {
|
|
if (p->policy == SCHED_IDLE) {
|
|
- p->se.load.weight = WEIGHT_IDLEPRIO;
|
|
|
|
- p->se.load.inv_weight = WMULT_IDLEPRIO;
|
|
|
|
|
|
+ load->weight = WEIGHT_IDLEPRIO;
|
|
|
|
+ load->inv_weight = WMULT_IDLEPRIO;
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
- p->se.load.weight = prio_to_weight[p->static_prio - MAX_RT_PRIO];
|
|
|
|
- p->se.load.inv_weight = prio_to_wmult[p->static_prio - MAX_RT_PRIO];
|
|
|
|
|
|
+ load->weight = prio_to_weight[prio];
|
|
|
|
+ load->inv_weight = prio_to_wmult[prio];
|
|
}
|
|
}
|
|
|
|
|
|
static void enqueue_task(struct rq *rq, struct task_struct *p, int flags)
|
|
static void enqueue_task(struct rq *rq, struct task_struct *p, int flags)
|