ANDROID: sched: Add vendor hook for update_rq_clock_pelt

For vendor specific change.

Bug: 170647767
Signed-off-by: Rick Yiu <rickyiu@google.com>
Change-Id: I14915e5aa09ce2b853951c5e06178eb2f37494f0
This commit is contained in:
Rick Yiu
2022-05-16 18:38:56 +08:00
parent 4acf9710ca
commit 65735b81dd
3 changed files with 9 additions and 1 deletions

View File

@@ -397,3 +397,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_remove_entity_load_avg);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_blocked_fair);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_rt_rq_load_avg);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_pci_d3_sleep);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_rq_clock_pelt);

View File

@@ -428,6 +428,10 @@ DECLARE_RESTRICTED_HOOK(android_rvh_update_rt_rq_load_avg,
TP_PROTO(u64 now, struct rq *rq, struct task_struct *tsk, int running),
TP_ARGS(now, rq, tsk, running), 1);
DECLARE_RESTRICTED_HOOK(android_rvh_update_rq_clock_pelt,
TP_PROTO(struct rq *rq, s64 delta, bool *ret),
TP_ARGS(rq, delta, ret), 1);
/* macro versions of hooks are no longer required */
#endif /* _TRACE_HOOK_SCHED_H */

View File

@@ -266,6 +266,7 @@ static void update_rq_clock_task(struct rq *rq, s64 delta)
* to sched_rt_avg_update. But I don't trust it...
*/
s64 __maybe_unused steal = 0, irq_delta = 0;
bool ret = false;
#ifdef CONFIG_IRQ_TIME_ACCOUNTING
irq_delta = irq_time_read(cpu_of(rq)) - rq->prev_irq_time;
@@ -310,7 +311,9 @@ static void update_rq_clock_task(struct rq *rq, s64 delta)
if ((irq_delta + steal) && sched_feat(NONTASK_CAPACITY))
update_irq_load_avg(rq, irq_delta + steal);
#endif
update_rq_clock_pelt(rq, delta);
trace_android_rvh_update_rq_clock_pelt(rq, delta, &ret);
if (!ret)
update_rq_clock_pelt(rq, delta);
}
void update_rq_clock(struct rq *rq)