|
@@ -704,7 +704,7 @@ __update_curr(struct cfs_rq *cfs_rq, struct sched_entity *curr,
|
|
|
static void update_curr(struct cfs_rq *cfs_rq)
|
|
|
{
|
|
|
struct sched_entity *curr = cfs_rq->curr;
|
|
|
- u64 now = rq_of(cfs_rq)->clock_task;
|
|
|
+ u64 now = rq_clock_task(rq_of(cfs_rq));
|
|
|
unsigned long delta_exec;
|
|
|
|
|
|
if (unlikely(!curr))
|
|
@@ -736,7 +736,7 @@ static void update_curr(struct cfs_rq *cfs_rq)
|
|
|
static inline void
|
|
|
update_stats_wait_start(struct cfs_rq *cfs_rq, struct sched_entity *se)
|
|
|
{
|
|
|
- schedstat_set(se->statistics.wait_start, rq_of(cfs_rq)->clock);
|
|
|
+ schedstat_set(se->statistics.wait_start, rq_clock(rq_of(cfs_rq)));
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -756,14 +756,14 @@ static void
|
|
|
update_stats_wait_end(struct cfs_rq *cfs_rq, struct sched_entity *se)
|
|
|
{
|
|
|
schedstat_set(se->statistics.wait_max, max(se->statistics.wait_max,
|
|
|
- rq_of(cfs_rq)->clock - se->statistics.wait_start));
|
|
|
+ rq_clock(rq_of(cfs_rq)) - se->statistics.wait_start));
|
|
|
schedstat_set(se->statistics.wait_count, se->statistics.wait_count + 1);
|
|
|
schedstat_set(se->statistics.wait_sum, se->statistics.wait_sum +
|
|
|
- rq_of(cfs_rq)->clock - se->statistics.wait_start);
|
|
|
+ rq_clock(rq_of(cfs_rq)) - se->statistics.wait_start);
|
|
|
#ifdef CONFIG_SCHEDSTATS
|
|
|
if (entity_is_task(se)) {
|
|
|
trace_sched_stat_wait(task_of(se),
|
|
|
- rq_of(cfs_rq)->clock - se->statistics.wait_start);
|
|
|
+ rq_clock(rq_of(cfs_rq)) - se->statistics.wait_start);
|
|
|
}
|
|
|
#endif
|
|
|
schedstat_set(se->statistics.wait_start, 0);
|
|
@@ -789,7 +789,7 @@ update_stats_curr_start(struct cfs_rq *cfs_rq, struct sched_entity *se)
|
|
|
/*
|
|
|
* We are starting a new run period:
|
|
|
*/
|
|
|
- se->exec_start = rq_of(cfs_rq)->clock_task;
|
|
|
+ se->exec_start = rq_clock_task(rq_of(cfs_rq));
|
|
|
}
|
|
|
|
|
|
/**************************************************
|
|
@@ -1515,7 +1515,7 @@ static void update_cfs_rq_blocked_load(struct cfs_rq *cfs_rq, int force_update)
|
|
|
|
|
|
static inline void update_rq_runnable_avg(struct rq *rq, int runnable)
|
|
|
{
|
|
|
- __update_entity_runnable_avg(rq->clock_task, &rq->avg, runnable);
|
|
|
+ __update_entity_runnable_avg(rq_clock_task(rq), &rq->avg, runnable);
|
|
|
__update_tg_runnable_avg(&rq->avg, &rq->cfs);
|
|
|
}
|
|
|
|
|
@@ -1530,7 +1530,7 @@ static inline void enqueue_entity_load_avg(struct cfs_rq *cfs_rq,
|
|
|
* accumulated while sleeping.
|
|
|
*/
|
|
|
if (unlikely(se->avg.decay_count <= 0)) {
|
|
|
- se->avg.last_runnable_update = rq_of(cfs_rq)->clock_task;
|
|
|
+ se->avg.last_runnable_update = rq_clock_task(rq_of(cfs_rq));
|
|
|
if (se->avg.decay_count) {
|
|
|
/*
|
|
|
* In a wake-up migration we have to approximate the
|
|
@@ -1625,7 +1625,7 @@ static void enqueue_sleeper(struct cfs_rq *cfs_rq, struct sched_entity *se)
|
|
|
tsk = task_of(se);
|
|
|
|
|
|
if (se->statistics.sleep_start) {
|
|
|
- u64 delta = rq_of(cfs_rq)->clock - se->statistics.sleep_start;
|
|
|
+ u64 delta = rq_clock(rq_of(cfs_rq)) - se->statistics.sleep_start;
|
|
|
|
|
|
if ((s64)delta < 0)
|
|
|
delta = 0;
|
|
@@ -1642,7 +1642,7 @@ static void enqueue_sleeper(struct cfs_rq *cfs_rq, struct sched_entity *se)
|
|
|
}
|
|
|
}
|
|
|
if (se->statistics.block_start) {
|
|
|
- u64 delta = rq_of(cfs_rq)->clock - se->statistics.block_start;
|
|
|
+ u64 delta = rq_clock(rq_of(cfs_rq)) - se->statistics.block_start;
|
|
|
|
|
|
if ((s64)delta < 0)
|
|
|
delta = 0;
|
|
@@ -1823,9 +1823,9 @@ dequeue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int flags)
|
|
|
struct task_struct *tsk = task_of(se);
|
|
|
|
|
|
if (tsk->state & TASK_INTERRUPTIBLE)
|
|
|
- se->statistics.sleep_start = rq_of(cfs_rq)->clock;
|
|
|
+ se->statistics.sleep_start = rq_clock(rq_of(cfs_rq));
|
|
|
if (tsk->state & TASK_UNINTERRUPTIBLE)
|
|
|
- se->statistics.block_start = rq_of(cfs_rq)->clock;
|
|
|
+ se->statistics.block_start = rq_clock(rq_of(cfs_rq));
|
|
|
}
|
|
|
#endif
|
|
|
}
|
|
@@ -2100,7 +2100,7 @@ static inline u64 cfs_rq_clock_task(struct cfs_rq *cfs_rq)
|
|
|
if (unlikely(cfs_rq->throttle_count))
|
|
|
return cfs_rq->throttled_clock_task;
|
|
|
|
|
|
- return rq_of(cfs_rq)->clock_task - cfs_rq->throttled_clock_task_time;
|
|
|
+ return rq_clock_task(rq_of(cfs_rq)) - cfs_rq->throttled_clock_task_time;
|
|
|
}
|
|
|
|
|
|
/* returns 0 on failure to allocate runtime */
|
|
@@ -2159,7 +2159,7 @@ static void expire_cfs_rq_runtime(struct cfs_rq *cfs_rq)
|
|
|
struct rq *rq = rq_of(cfs_rq);
|
|
|
|
|
|
/* if the deadline is ahead of our clock, nothing to do */
|
|
|
- if (likely((s64)(rq->clock - cfs_rq->runtime_expires) < 0))
|
|
|
+ if (likely((s64)(rq_clock(rq_of(cfs_rq)) - cfs_rq->runtime_expires) < 0))
|
|
|
return;
|
|
|
|
|
|
if (cfs_rq->runtime_remaining < 0)
|
|
@@ -2248,7 +2248,7 @@ static int tg_unthrottle_up(struct task_group *tg, void *data)
|
|
|
#ifdef CONFIG_SMP
|
|
|
if (!cfs_rq->throttle_count) {
|
|
|
/* adjust cfs_rq_clock_task() */
|
|
|
- cfs_rq->throttled_clock_task_time += rq->clock_task -
|
|
|
+ cfs_rq->throttled_clock_task_time += rq_clock_task(rq) -
|
|
|
cfs_rq->throttled_clock_task;
|
|
|
}
|
|
|
#endif
|
|
@@ -2263,7 +2263,7 @@ static int tg_throttle_down(struct task_group *tg, void *data)
|
|
|
|
|
|
/* group is entering throttled state, stop time */
|
|
|
if (!cfs_rq->throttle_count)
|
|
|
- cfs_rq->throttled_clock_task = rq->clock_task;
|
|
|
+ cfs_rq->throttled_clock_task = rq_clock_task(rq);
|
|
|
cfs_rq->throttle_count++;
|
|
|
|
|
|
return 0;
|
|
@@ -2302,7 +2302,7 @@ static void throttle_cfs_rq(struct cfs_rq *cfs_rq)
|
|
|
rq->nr_running -= task_delta;
|
|
|
|
|
|
cfs_rq->throttled = 1;
|
|
|
- cfs_rq->throttled_clock = rq->clock;
|
|
|
+ cfs_rq->throttled_clock = rq_clock(rq);
|
|
|
raw_spin_lock(&cfs_b->lock);
|
|
|
list_add_tail_rcu(&cfs_rq->throttled_list, &cfs_b->throttled_cfs_rq);
|
|
|
raw_spin_unlock(&cfs_b->lock);
|
|
@@ -2323,7 +2323,7 @@ void unthrottle_cfs_rq(struct cfs_rq *cfs_rq)
|
|
|
update_rq_clock(rq);
|
|
|
|
|
|
raw_spin_lock(&cfs_b->lock);
|
|
|
- cfs_b->throttled_time += rq->clock - cfs_rq->throttled_clock;
|
|
|
+ cfs_b->throttled_time += rq_clock(rq) - cfs_rq->throttled_clock;
|
|
|
list_del_rcu(&cfs_rq->throttled_list);
|
|
|
raw_spin_unlock(&cfs_b->lock);
|
|
|
|
|
@@ -2726,7 +2726,7 @@ static void __maybe_unused unthrottle_offline_cfs_rqs(struct rq *rq)
|
|
|
#else /* CONFIG_CFS_BANDWIDTH */
|
|
|
static inline u64 cfs_rq_clock_task(struct cfs_rq *cfs_rq)
|
|
|
{
|
|
|
- return rq_of(cfs_rq)->clock_task;
|
|
|
+ return rq_clock_task(rq_of(cfs_rq));
|
|
|
}
|
|
|
|
|
|
static void account_cfs_rq_runtime(struct cfs_rq *cfs_rq,
|
|
@@ -3966,7 +3966,7 @@ int can_migrate_task(struct task_struct *p, struct lb_env *env)
|
|
|
* 2) too many balance attempts have failed.
|
|
|
*/
|
|
|
|
|
|
- tsk_cache_hot = task_hot(p, env->src_rq->clock_task, env->sd);
|
|
|
+ tsk_cache_hot = task_hot(p, rq_clock_task(env->src_rq), env->sd);
|
|
|
if (!tsk_cache_hot ||
|
|
|
env->sd->nr_balance_failed > env->sd->cache_nice_tries) {
|
|
|
|
|
@@ -4322,7 +4322,7 @@ static unsigned long scale_rt_power(int cpu)
|
|
|
age_stamp = ACCESS_ONCE(rq->age_stamp);
|
|
|
avg = ACCESS_ONCE(rq->rt_avg);
|
|
|
|
|
|
- total = sched_avg_period() + (rq->clock - age_stamp);
|
|
|
+ total = sched_avg_period() + (rq_clock(rq) - age_stamp);
|
|
|
|
|
|
if (unlikely(total < avg)) {
|
|
|
/* Ensures that power won't end up being negative */
|
|
@@ -5261,7 +5261,7 @@ void idle_balance(int this_cpu, struct rq *this_rq)
|
|
|
int pulled_task = 0;
|
|
|
unsigned long next_balance = jiffies + HZ;
|
|
|
|
|
|
- this_rq->idle_stamp = this_rq->clock;
|
|
|
+ this_rq->idle_stamp = rq_clock(this_rq);
|
|
|
|
|
|
if (this_rq->avg_idle < sysctl_sched_migration_cost)
|
|
|
return;
|