13d0407baSopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
23d0407baSopenharmony_ci#undef TRACE_SYSTEM
33d0407baSopenharmony_ci#define TRACE_SYSTEM sched
43d0407baSopenharmony_ci#define TRACE_INCLUDE_PATH trace/hooks
53d0407baSopenharmony_ci#if !defined(_TRACE_HOOK_SCHED_H) || defined(TRACE_HEADER_MULTI_READ)
63d0407baSopenharmony_ci#define _TRACE_HOOK_SCHED_H
73d0407baSopenharmony_ci#include <linux/tracepoint.h>
83d0407baSopenharmony_ci#include <trace/hooks/vendor_hooks.h>
93d0407baSopenharmony_ci/*
103d0407baSopenharmony_ci * Following tracepoints are not exported in tracefs and provide a
113d0407baSopenharmony_ci * mechanism for vendor modules to hook and extend functionality
123d0407baSopenharmony_ci */
133d0407baSopenharmony_cistruct task_struct;
143d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_select_task_rq_fair,
153d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p, int prev_cpu, int sd_flag, int wake_flags, int *new_cpu),
163d0407baSopenharmony_ci	TP_ARGS(p, prev_cpu, sd_flag, wake_flags, new_cpu), 1);
173d0407baSopenharmony_ci
183d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_select_task_rq_rt,
193d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p, int prev_cpu, int sd_flag, int wake_flags, int *new_cpu),
203d0407baSopenharmony_ci	TP_ARGS(p, prev_cpu, sd_flag, wake_flags, new_cpu), 1);
213d0407baSopenharmony_ci
223d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_select_fallback_rq,
233d0407baSopenharmony_ci	TP_PROTO(int cpu, struct task_struct *p, int *new_cpu),
243d0407baSopenharmony_ci	TP_ARGS(cpu, p, new_cpu), 1);
253d0407baSopenharmony_ci
263d0407baSopenharmony_cistruct rq;
273d0407baSopenharmony_ciDECLARE_HOOK(android_vh_scheduler_tick,
283d0407baSopenharmony_ci	TP_PROTO(struct rq *rq),
293d0407baSopenharmony_ci	TP_ARGS(rq));
303d0407baSopenharmony_ci
313d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_enqueue_task,
323d0407baSopenharmony_ci	TP_PROTO(struct rq *rq, struct task_struct *p, int flags),
333d0407baSopenharmony_ci	TP_ARGS(rq, p, flags), 1);
343d0407baSopenharmony_ci
353d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_dequeue_task,
363d0407baSopenharmony_ci	TP_PROTO(struct rq *rq, struct task_struct *p, int flags),
373d0407baSopenharmony_ci	TP_ARGS(rq, p, flags), 1);
383d0407baSopenharmony_ci
393d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_can_migrate_task,
403d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p, int dst_cpu, int *can_migrate),
413d0407baSopenharmony_ci	TP_ARGS(p, dst_cpu, can_migrate), 1);
423d0407baSopenharmony_ci
433d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_find_lowest_rq,
443d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p, struct cpumask *local_cpu_mask,
453d0407baSopenharmony_ci			int ret, int *lowest_cpu),
463d0407baSopenharmony_ci	TP_ARGS(p, local_cpu_mask, ret, lowest_cpu), 1);
473d0407baSopenharmony_ci
483d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_prepare_prio_fork,
493d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p),
503d0407baSopenharmony_ci	TP_ARGS(p), 1);
513d0407baSopenharmony_ci
523d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_finish_prio_fork,
533d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p),
543d0407baSopenharmony_ci	TP_ARGS(p), 1);
553d0407baSopenharmony_ci
563d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_rtmutex_prepare_setprio,
573d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p, struct task_struct *pi_task),
583d0407baSopenharmony_ci	TP_ARGS(p, pi_task), 1);
593d0407baSopenharmony_ci
603d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_set_user_nice,
613d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p, long *nice, bool *allowed),
623d0407baSopenharmony_ci	TP_ARGS(p, nice, allowed), 1);
633d0407baSopenharmony_ci
643d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_setscheduler,
653d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p),
663d0407baSopenharmony_ci	TP_ARGS(p), 1);
673d0407baSopenharmony_ci
683d0407baSopenharmony_cistruct sched_group;
693d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_find_busiest_group,
703d0407baSopenharmony_ci	TP_PROTO(struct sched_group *busiest, struct rq *dst_rq, int *out_balance),
713d0407baSopenharmony_ci		TP_ARGS(busiest, dst_rq, out_balance), 1);
723d0407baSopenharmony_ci
733d0407baSopenharmony_ciDECLARE_HOOK(android_vh_dump_throttled_rt_tasks,
743d0407baSopenharmony_ci	TP_PROTO(int cpu, u64 clock, ktime_t rt_period, u64 rt_runtime,
753d0407baSopenharmony_ci			s64 rt_period_timer_expires),
763d0407baSopenharmony_ci	TP_ARGS(cpu, clock, rt_period, rt_runtime, rt_period_timer_expires));
773d0407baSopenharmony_ci
783d0407baSopenharmony_ciDECLARE_HOOK(android_vh_jiffies_update,
793d0407baSopenharmony_ci	TP_PROTO(void *unused),
803d0407baSopenharmony_ci	TP_ARGS(unused));
813d0407baSopenharmony_ci
823d0407baSopenharmony_cistruct rq_flags;
833d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_sched_newidle_balance,
843d0407baSopenharmony_ci	TP_PROTO(struct rq *this_rq, struct rq_flags *rf,
853d0407baSopenharmony_ci		 int *pulled_task, int *done),
863d0407baSopenharmony_ci	TP_ARGS(this_rq, rf, pulled_task, done), 1);
873d0407baSopenharmony_ci
883d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_sched_nohz_balancer_kick,
893d0407baSopenharmony_ci	TP_PROTO(struct rq *rq, unsigned int *flags, int *done),
903d0407baSopenharmony_ci	TP_ARGS(rq, flags, done), 1);
913d0407baSopenharmony_ci
923d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_sched_rebalance_domains,
933d0407baSopenharmony_ci	TP_PROTO(struct rq *rq, int *continue_balancing),
943d0407baSopenharmony_ci	TP_ARGS(rq, continue_balancing), 1);
953d0407baSopenharmony_ci
963d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_find_busiest_queue,
973d0407baSopenharmony_ci	TP_PROTO(int dst_cpu, struct sched_group *group,
983d0407baSopenharmony_ci		 struct cpumask *env_cpus, struct rq **busiest,
993d0407baSopenharmony_ci		 int *done),
1003d0407baSopenharmony_ci	TP_ARGS(dst_cpu, group, env_cpus, busiest, done), 1);
1013d0407baSopenharmony_ci
1023d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_migrate_queued_task,
1033d0407baSopenharmony_ci	TP_PROTO(struct rq *rq, struct rq_flags *rf,
1043d0407baSopenharmony_ci		 struct task_struct *p, int new_cpu,
1053d0407baSopenharmony_ci		 int *detached),
1063d0407baSopenharmony_ci	TP_ARGS(rq, rf, p, new_cpu, detached), 1);
1073d0407baSopenharmony_ci
1083d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_resume_cpus,
1093d0407baSopenharmony_ci	TP_PROTO(struct cpumask *cpus, int *err),
1103d0407baSopenharmony_ci	TP_ARGS(cpus, err), 1);
1113d0407baSopenharmony_ci
1123d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_find_energy_efficient_cpu,
1133d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p, int prev_cpu, int sync, int *new_cpu),
1143d0407baSopenharmony_ci	TP_ARGS(p, prev_cpu, sync, new_cpu), 1);
1153d0407baSopenharmony_ci
1163d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_set_iowait,
1173d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p, int *should_iowait_boost),
1183d0407baSopenharmony_ci	TP_ARGS(p, should_iowait_boost), 1);
1193d0407baSopenharmony_ci
1203d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_cpu_overutilized,
1213d0407baSopenharmony_ci	TP_PROTO(int cpu, int *overutilized),
1223d0407baSopenharmony_ci	TP_ARGS(cpu, overutilized), 1);
1233d0407baSopenharmony_ci
1243d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_sched_setaffinity,
1253d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p, const struct cpumask *in_mask, int *retval),
1263d0407baSopenharmony_ci	TP_ARGS(p, in_mask, retval), 1);
1273d0407baSopenharmony_ci
1283d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_update_cpus_allowed,
1293d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p, cpumask_var_t cpus_requested,
1303d0407baSopenharmony_ci		 const struct cpumask *new_mask, int *ret),
1313d0407baSopenharmony_ci	TP_ARGS(p, cpus_requested, new_mask, ret), 1);
1323d0407baSopenharmony_ci
1333d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_set_task_cpu,
1343d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p, unsigned int new_cpu),
1353d0407baSopenharmony_ci	TP_ARGS(p, new_cpu), 1);
1363d0407baSopenharmony_ci
1373d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_try_to_wake_up,
1383d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p),
1393d0407baSopenharmony_ci	TP_ARGS(p), 1);
1403d0407baSopenharmony_ci
1413d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_try_to_wake_up_success,
1423d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p),
1433d0407baSopenharmony_ci	TP_ARGS(p), 1);
1443d0407baSopenharmony_ci
1453d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_sched_fork,
1463d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p),
1473d0407baSopenharmony_ci	TP_ARGS(p), 1);
1483d0407baSopenharmony_ci
1493d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_wake_up_new_task,
1503d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p),
1513d0407baSopenharmony_ci	TP_ARGS(p), 1);
1523d0407baSopenharmony_ci
1533d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_new_task_stats,
1543d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p),
1553d0407baSopenharmony_ci	TP_ARGS(p), 1);
1563d0407baSopenharmony_ci
1573d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_flush_task,
1583d0407baSopenharmony_ci	TP_PROTO(struct task_struct *prev),
1593d0407baSopenharmony_ci	TP_ARGS(prev), 1);
1603d0407baSopenharmony_ci
1613d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_tick_entry,
1623d0407baSopenharmony_ci	TP_PROTO(struct rq *rq),
1633d0407baSopenharmony_ci	TP_ARGS(rq), 1);
1643d0407baSopenharmony_ci
1653d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_schedule,
1663d0407baSopenharmony_ci	TP_PROTO(struct task_struct *prev, struct task_struct *next, struct rq *rq),
1673d0407baSopenharmony_ci	TP_ARGS(prev, next, rq), 1);
1683d0407baSopenharmony_ci
1693d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_sched_cpu_starting,
1703d0407baSopenharmony_ci	TP_PROTO(int cpu),
1713d0407baSopenharmony_ci	TP_ARGS(cpu), 1);
1723d0407baSopenharmony_ci
1733d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_sched_cpu_dying,
1743d0407baSopenharmony_ci	TP_PROTO(int cpu),
1753d0407baSopenharmony_ci	TP_ARGS(cpu), 1);
1763d0407baSopenharmony_ci
1773d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_account_irq,
1783d0407baSopenharmony_ci	TP_PROTO(struct task_struct *curr, int cpu, s64 delta),
1793d0407baSopenharmony_ci	TP_ARGS(curr, cpu, delta), 1);
1803d0407baSopenharmony_ci
1813d0407baSopenharmony_cistruct sched_entity;
1823d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_place_entity,
1833d0407baSopenharmony_ci	TP_PROTO(struct cfs_rq *cfs_rq, struct sched_entity *se, int initial, u64 vruntime),
1843d0407baSopenharmony_ci	TP_ARGS(cfs_rq, se, initial, vruntime), 1);
1853d0407baSopenharmony_ci
1863d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_build_perf_domains,
1873d0407baSopenharmony_ci	TP_PROTO(bool *eas_check),
1883d0407baSopenharmony_ci	TP_ARGS(eas_check), 1);
1893d0407baSopenharmony_ci
1903d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_update_cpu_capacity,
1913d0407baSopenharmony_ci	TP_PROTO(int cpu, unsigned long *capacity),
1923d0407baSopenharmony_ci	TP_ARGS(cpu, capacity), 1);
1933d0407baSopenharmony_ci
1943d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_update_misfit_status,
1953d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p, struct rq *rq, bool *need_update),
1963d0407baSopenharmony_ci	TP_ARGS(p, rq, need_update), 1);
1973d0407baSopenharmony_ci
1983d0407baSopenharmony_cistruct cgroup_taskset;
1993d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_cpu_cgroup_attach,
2003d0407baSopenharmony_ci	TP_PROTO(struct cgroup_taskset *tset),
2013d0407baSopenharmony_ci	TP_ARGS(tset), 1);
2023d0407baSopenharmony_ci
2033d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_cpu_cgroup_can_attach,
2043d0407baSopenharmony_ci	TP_PROTO(struct cgroup_taskset *tset, int *retval),
2053d0407baSopenharmony_ci	TP_ARGS(tset, retval), 1);
2063d0407baSopenharmony_ci
2073d0407baSopenharmony_cistruct cgroup_subsys_state;
2083d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_cpu_cgroup_online,
2093d0407baSopenharmony_ci	TP_PROTO(struct cgroup_subsys_state *css),
2103d0407baSopenharmony_ci	TP_ARGS(css), 1);
2113d0407baSopenharmony_ci
2123d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_sched_fork_init,
2133d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p),
2143d0407baSopenharmony_ci	TP_ARGS(p), 1);
2153d0407baSopenharmony_ci
2163d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_ttwu_cond,
2173d0407baSopenharmony_ci	TP_PROTO(bool *cond),
2183d0407baSopenharmony_ci	TP_ARGS(cond), 1);
2193d0407baSopenharmony_ci
2203d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_schedule_bug,
2213d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p),
2223d0407baSopenharmony_ci	TP_ARGS(p), 1);
2233d0407baSopenharmony_ci
2243d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_sched_exec,
2253d0407baSopenharmony_ci	TP_PROTO(bool *cond),
2263d0407baSopenharmony_ci	TP_ARGS(cond), 1);
2273d0407baSopenharmony_ci
2283d0407baSopenharmony_cistruct cpufreq_policy;
2293d0407baSopenharmony_ciDECLARE_HOOK(android_vh_map_util_freq,
2303d0407baSopenharmony_ci	TP_PROTO(unsigned long util, unsigned long freq,
2313d0407baSopenharmony_ci		unsigned long cap, unsigned long *next_freq, struct cpufreq_policy *policy,
2323d0407baSopenharmony_ci		bool *need_freq_update),
2333d0407baSopenharmony_ci	TP_ARGS(util, freq, cap, next_freq, policy, need_freq_update));
2343d0407baSopenharmony_ci
2353d0407baSopenharmony_cistruct em_perf_domain;
2363d0407baSopenharmony_ciDECLARE_HOOK(android_vh_em_cpu_energy,
2373d0407baSopenharmony_ci	TP_PROTO(struct em_perf_domain *pd,
2383d0407baSopenharmony_ci		unsigned long max_util, unsigned long sum_util,
2393d0407baSopenharmony_ci		unsigned long *energy),
2403d0407baSopenharmony_ci	TP_ARGS(pd, max_util, sum_util, energy));
2413d0407baSopenharmony_ci
2423d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_sched_balance_rt,
2433d0407baSopenharmony_ci	TP_PROTO(struct rq *rq, struct task_struct *p, int *done),
2443d0407baSopenharmony_ci	TP_ARGS(rq, p, done), 1);
2453d0407baSopenharmony_ci
2463d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_dequeue_task_idle,
2473d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p),
2483d0407baSopenharmony_ci	TP_ARGS(p), 1);
2493d0407baSopenharmony_ci
2503d0407baSopenharmony_cistruct cfs_rq;
2513d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_pick_next_entity,
2523d0407baSopenharmony_ci	TP_PROTO(struct cfs_rq *cfs_rq, struct sched_entity *curr,
2533d0407baSopenharmony_ci		 struct sched_entity **se),
2543d0407baSopenharmony_ci	TP_ARGS(cfs_rq, curr, se), 1);
2553d0407baSopenharmony_ci
2563d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_check_preempt_wakeup,
2573d0407baSopenharmony_ci	TP_PROTO(struct rq *rq, struct task_struct *p, bool *preempt, bool *nopreempt,
2583d0407baSopenharmony_ci			int wake_flags, struct sched_entity *se, struct sched_entity *pse,
2593d0407baSopenharmony_ci			int next_buddy_marked, unsigned int granularity),
2603d0407baSopenharmony_ci	TP_ARGS(rq, p, preempt, nopreempt, wake_flags, se, pse, next_buddy_marked,
2613d0407baSopenharmony_ci			granularity), 1);
2623d0407baSopenharmony_ci
2633d0407baSopenharmony_ciDECLARE_HOOK(android_vh_do_wake_up_sync,
2643d0407baSopenharmony_ci	TP_PROTO(struct wait_queue_head *wq_head, int *done),
2653d0407baSopenharmony_ci	TP_ARGS(wq_head, done));
2663d0407baSopenharmony_ci
2673d0407baSopenharmony_ciDECLARE_HOOK(android_vh_set_wake_flags,
2683d0407baSopenharmony_ci	TP_PROTO(int *wake_flags, unsigned int *mode),
2693d0407baSopenharmony_ci	TP_ARGS(wake_flags, mode));
2703d0407baSopenharmony_ci
2713d0407baSopenharmony_cienum uclamp_id;
2723d0407baSopenharmony_cistruct uclamp_se;
2733d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_uclamp_eff_get,
2743d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p, enum uclamp_id clamp_id,
2753d0407baSopenharmony_ci		 struct uclamp_se *uclamp_max, struct uclamp_se *uclamp_eff, int *ret),
2763d0407baSopenharmony_ci	TP_ARGS(p, clamp_id, uclamp_max, uclamp_eff, ret), 1);
2773d0407baSopenharmony_ci
2783d0407baSopenharmony_ciDECLARE_HOOK(android_vh_build_sched_domains,
2793d0407baSopenharmony_ci	TP_PROTO(bool has_asym),
2803d0407baSopenharmony_ci	TP_ARGS(has_asym));
2813d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_check_preempt_tick,
2823d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p, unsigned long *ideal_runtime, bool *skip_preempt,
2833d0407baSopenharmony_ci			unsigned long delta_exec, struct cfs_rq *cfs_rq, struct sched_entity *curr,
2843d0407baSopenharmony_ci			unsigned int granularity),
2853d0407baSopenharmony_ci	TP_ARGS(p, ideal_runtime, skip_preempt, delta_exec, cfs_rq, curr, granularity), 1);
2863d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_check_preempt_wakeup_ignore,
2873d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p, bool *ignore),
2883d0407baSopenharmony_ci	TP_ARGS(p, ignore), 1);
2893d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_replace_next_task_fair,
2903d0407baSopenharmony_ci	TP_PROTO(struct rq *rq, struct task_struct **p, struct sched_entity **se, bool *repick,
2913d0407baSopenharmony_ci			bool simple, struct task_struct *prev),
2923d0407baSopenharmony_ci	TP_ARGS(rq, p, se, repick, simple, prev), 1);
2933d0407baSopenharmony_ci
2943d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_do_sched_yield,
2953d0407baSopenharmony_ci	TP_PROTO(struct rq *rq),
2963d0407baSopenharmony_ci	TP_ARGS(rq), 1);
2973d0407baSopenharmony_ci
2983d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_util_est_update,
2993d0407baSopenharmony_ci	TP_PROTO(struct cfs_rq *cfs_rq, struct task_struct *p, bool task_sleep, int *ret),
3003d0407baSopenharmony_ci	TP_ARGS(cfs_rq, p, task_sleep, ret), 1);
3013d0407baSopenharmony_ci
3023d0407baSopenharmony_ciDECLARE_HOOK(android_vh_account_task_time,
3033d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p, struct rq *rq, int user_tick),
3043d0407baSopenharmony_ci	TP_ARGS(p, rq, user_tick));
3053d0407baSopenharmony_ci
3063d0407baSopenharmony_ciDECLARE_HOOK(android_vh_irqtime_account_process_tick,
3073d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p, struct rq *rq, int user_tick, int ticks),
3083d0407baSopenharmony_ci	TP_ARGS(p, rq, user_tick, ticks));
3093d0407baSopenharmony_ci
3103d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_post_init_entity_util_avg,
3113d0407baSopenharmony_ci	TP_PROTO(struct sched_entity *se),
3123d0407baSopenharmony_ci	TP_ARGS(se), 1);
3133d0407baSopenharmony_ci
3143d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_set_cpus_allowed_comm,
3153d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p, const struct cpumask *new_mask),
3163d0407baSopenharmony_ci	TP_ARGS(p, new_mask), 1);
3173d0407baSopenharmony_ci
3183d0407baSopenharmony_ciDECLARE_HOOK(android_vh_sched_setaffinity_early,
3193d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p, const struct cpumask *new_mask, int *retval),
3203d0407baSopenharmony_ci	TP_ARGS(p, new_mask, retval));
3213d0407baSopenharmony_ci
3223d0407baSopenharmony_ciDECLARE_HOOK(android_vh_free_task,
3233d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p),
3243d0407baSopenharmony_ci	TP_ARGS(p));
3253d0407baSopenharmony_ci
3263d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_after_enqueue_task,
3273d0407baSopenharmony_ci	TP_PROTO(struct rq *rq, struct task_struct *p),
3283d0407baSopenharmony_ci	TP_ARGS(rq, p), 1);
3293d0407baSopenharmony_ci
3303d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_after_dequeue_task,
3313d0407baSopenharmony_ci	TP_PROTO(struct rq *rq, struct task_struct *p),
3323d0407baSopenharmony_ci	TP_ARGS(rq, p), 1);
3333d0407baSopenharmony_ci
3343d0407baSopenharmony_cistruct cfs_rq;
3353d0407baSopenharmony_cistruct sched_entity;
3363d0407baSopenharmony_cistruct rq_flags;
3373d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_enqueue_entity,
3383d0407baSopenharmony_ci	TP_PROTO(struct cfs_rq *cfs, struct sched_entity *se),
3393d0407baSopenharmony_ci	TP_ARGS(cfs, se), 1);
3403d0407baSopenharmony_ci
3413d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_dequeue_entity,
3423d0407baSopenharmony_ci	TP_PROTO(struct cfs_rq *cfs, struct sched_entity *se),
3433d0407baSopenharmony_ci	TP_ARGS(cfs, se), 1);
3443d0407baSopenharmony_ci
3453d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_entity_tick,
3463d0407baSopenharmony_ci	TP_PROTO(struct cfs_rq *cfs_rq, struct sched_entity *se),
3473d0407baSopenharmony_ci	TP_ARGS(cfs_rq, se), 1);
3483d0407baSopenharmony_ci
3493d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_enqueue_task_fair,
3503d0407baSopenharmony_ci	TP_PROTO(struct rq *rq, struct task_struct *p, int flags),
3513d0407baSopenharmony_ci	TP_ARGS(rq, p, flags), 1);
3523d0407baSopenharmony_ci
3533d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_dequeue_task_fair,
3543d0407baSopenharmony_ci	TP_PROTO(struct rq *rq, struct task_struct *p, int flags),
3553d0407baSopenharmony_ci	TP_ARGS(rq, p, flags), 1);
3563d0407baSopenharmony_ci
3573d0407baSopenharmony_ciDECLARE_HOOK(android_vh_prepare_update_load_avg_se,
3583d0407baSopenharmony_ci	TP_PROTO(struct sched_entity *se, int flags),
3593d0407baSopenharmony_ci	TP_ARGS(se, flags));
3603d0407baSopenharmony_ci
3613d0407baSopenharmony_ciDECLARE_HOOK(android_vh_sched_stat_runtime_rt,
3623d0407baSopenharmony_ci	TP_PROTO(struct task_struct *tsk, u64 delta),
3633d0407baSopenharmony_ci	TP_ARGS(tsk, delta));
3643d0407baSopenharmony_ci
3653d0407baSopenharmony_ciDECLARE_HOOK(android_vh_finish_update_load_avg_se,
3663d0407baSopenharmony_ci	TP_PROTO(struct sched_entity *se, int flags),
3673d0407baSopenharmony_ci	TP_ARGS(se, flags));
3683d0407baSopenharmony_ci
3693d0407baSopenharmony_ciDECLARE_HOOK(android_vh_dup_task_struct,
3703d0407baSopenharmony_ci	TP_PROTO(struct task_struct *tsk, struct task_struct *orig),
3713d0407baSopenharmony_ci	TP_ARGS(tsk, orig));
3723d0407baSopenharmony_ci
3733d0407baSopenharmony_ciDECLARE_HOOK(android_vh_set_task_comm,
3743d0407baSopenharmony_ci	TP_PROTO(struct task_struct *p),
3753d0407baSopenharmony_ci	TP_ARGS(p));
3763d0407baSopenharmony_ci
3773d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_find_new_ilb,
3783d0407baSopenharmony_ci	TP_PROTO(struct cpumask *nohz_idle_cpus_mask, int *ilb),
3793d0407baSopenharmony_ci	TP_ARGS(nohz_idle_cpus_mask, ilb), 1);
3803d0407baSopenharmony_ci
3813d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_force_compatible_pre,
3823d0407baSopenharmony_ci	TP_PROTO(void *unused),
3833d0407baSopenharmony_ci	TP_ARGS(unused), 1);
3843d0407baSopenharmony_ci
3853d0407baSopenharmony_ciDECLARE_RESTRICTED_HOOK(android_rvh_force_compatible_post,
3863d0407baSopenharmony_ci	TP_PROTO(void *unused),
3873d0407baSopenharmony_ci	TP_ARGS(unused), 1);
3883d0407baSopenharmony_ci
3893d0407baSopenharmony_ciDECLARE_HOOK(android_vh_setscheduler_uclamp,
3903d0407baSopenharmony_ci	TP_PROTO(struct task_struct *tsk, int clamp_id, unsigned int value),
3913d0407baSopenharmony_ci	TP_ARGS(tsk, clamp_id, value));
3923d0407baSopenharmony_ci
3933d0407baSopenharmony_ci/* macro versions of hooks are no longer required */
3943d0407baSopenharmony_ci
3953d0407baSopenharmony_ci#endif /* _TRACE_HOOK_SCHED_H */
3963d0407baSopenharmony_ci/* This part must be outside protection */
3973d0407baSopenharmony_ci#include <trace/define_trace.h>
398