ANDROID: sched: Add vendor hook to select ilb cpu

Add android_rvh_find_new_ilb to select a next ilb cpu for vendors.

Bug: 190228983

Change-Id: Iba1a0cd9cdc22dcf628dd33f8d838fe513a4818f
Signed-off-by: Choonghoon Park <choong.park@samsung.com>
This commit is contained in:
Choonghoon Park
2021-06-03 20:35:50 +09:00
committed by CHOONGHOON PARK
parent 5ed6c99c8f
commit 27c285003d
3 changed files with 10 additions and 1 deletions

View File

@@ -310,3 +310,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_clear_reserved_fmt_fields);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_fill_ext_fmtdesc);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_clear_mask_adjust);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_scmi_timeout_sync);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_new_ilb);

View File

@@ -366,6 +366,10 @@ DECLARE_HOOK(android_vh_set_task_comm,
TP_PROTO(struct task_struct *p),
TP_ARGS(p));
DECLARE_RESTRICTED_HOOK(android_rvh_find_new_ilb,
TP_PROTO(struct cpumask *nohz_idle_cpus_mask, int *ilb),
TP_ARGS(nohz_idle_cpus_mask, ilb), 1);
/* macro versions of hooks are no longer required */
#endif /* _TRACE_HOOK_SCHED_H */

View File

@@ -10260,7 +10260,11 @@ static inline int on_null_domain(struct rq *rq)
static inline int find_new_ilb(void)
{
int ilb;
int ilb = -1;
trace_android_rvh_find_new_ilb(nohz.idle_cpus_mask, &ilb);
if (ilb >= 0)
return ilb;
for_each_cpu_and(ilb, nohz.idle_cpus_mask,
housekeeping_cpumask(HK_FLAG_MISC)) {