Merge branch 'sched/rt' into sched/core
This commit is contained in:
@@ -259,8 +259,6 @@ static inline int select_nohz_load_balancer(int cpu)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern unsigned long rt_needs_cpu(int cpu);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Only dump TASK_* tasks. (0 for all tasks)
|
* Only dump TASK_* tasks. (0 for all tasks)
|
||||||
*/
|
*/
|
||||||
|
@@ -2806,7 +2806,7 @@ static int double_lock_balance(struct rq *this_rq, struct rq *busiest)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void double_unlock_balance(struct rq *this_rq, struct rq *busiest)
|
static inline void double_unlock_balance(struct rq *this_rq, struct rq *busiest)
|
||||||
__releases(busiest->lock)
|
__releases(busiest->lock)
|
||||||
{
|
{
|
||||||
spin_unlock(&busiest->lock);
|
spin_unlock(&busiest->lock);
|
||||||
|
@@ -537,15 +537,15 @@ static void update_curr_rt(struct rq *rq)
|
|||||||
for_each_sched_rt_entity(rt_se) {
|
for_each_sched_rt_entity(rt_se) {
|
||||||
rt_rq = rt_rq_of_se(rt_se);
|
rt_rq = rt_rq_of_se(rt_se);
|
||||||
|
|
||||||
spin_lock(&rt_rq->rt_runtime_lock);
|
|
||||||
if (sched_rt_runtime(rt_rq) != RUNTIME_INF) {
|
if (sched_rt_runtime(rt_rq) != RUNTIME_INF) {
|
||||||
|
spin_lock(&rt_rq->rt_runtime_lock);
|
||||||
rt_rq->rt_time += delta_exec;
|
rt_rq->rt_time += delta_exec;
|
||||||
if (sched_rt_runtime_exceeded(rt_rq))
|
if (sched_rt_runtime_exceeded(rt_rq))
|
||||||
resched_task(curr);
|
resched_task(curr);
|
||||||
}
|
|
||||||
spin_unlock(&rt_rq->rt_runtime_lock);
|
spin_unlock(&rt_rq->rt_runtime_lock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static inline
|
static inline
|
||||||
void inc_rt_tasks(struct sched_rt_entity *rt_se, struct rt_rq *rt_rq)
|
void inc_rt_tasks(struct sched_rt_entity *rt_se, struct rt_rq *rt_rq)
|
||||||
@@ -910,7 +910,8 @@ static void put_prev_task_rt(struct rq *rq, struct task_struct *p)
|
|||||||
#define RT_MAX_TRIES 3
|
#define RT_MAX_TRIES 3
|
||||||
|
|
||||||
static int double_lock_balance(struct rq *this_rq, struct rq *busiest);
|
static int double_lock_balance(struct rq *this_rq, struct rq *busiest);
|
||||||
static void double_unlock_balance(struct rq *this_rq, struct rq *busiest);
|
static inline void double_unlock_balance(struct rq *this_rq,
|
||||||
|
struct rq *busiest);
|
||||||
|
|
||||||
static void deactivate_task(struct rq *rq, struct task_struct *p, int sleep);
|
static void deactivate_task(struct rq *rq, struct task_struct *p, int sleep);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user