• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // SPDX-License-Identifier: GPL-2.0-only
2 /* vendor_hook.c
3  *
4  * Copyright 2022 Google LLC
5  */
6 #include "sched.h"
7 #include "pelt.h"
8 #include "smp.h"
9 
10 #define CREATE_TRACE_POINTS
11 #include <trace/hooks/vendor_hooks.h>
12 #include <linux/tracepoint.h>
13 #include <trace/hooks/sched.h>
14 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_select_task_rq_fair);
15 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_select_task_rq_rt);
16 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_select_task_rq_dl);
17 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_select_fallback_rq);
18 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_scheduler_tick);
19 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_enqueue_task);
20 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_dequeue_task);
21 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_can_migrate_task);
22 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_lowest_rq);
23 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_prepare_prio_fork);
24 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_finish_prio_fork);
25 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_rtmutex_prepare_setprio);
26 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_rto_next_cpu);
27 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_is_cpu_allowed);
28 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_get_nohz_timer_target);
29 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_user_nice);
30 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_user_nice_locked);
31 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_setscheduler);
32 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_busiest_group);
33 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_dump_throttled_rt_tasks);
34 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_jiffies_update);
35 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_newidle_balance);
36 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_nohz_balancer_kick);
37 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_rebalance_domains);
38 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_busiest_queue);
39 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_migrate_queued_task);
40 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_energy_efficient_cpu);
41 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_sugov_sched_attr);
42 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_iowait);
43 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_sugov_update);
44 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_cpu_overutilized);
45 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_setaffinity);
46 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_getaffinity);
47 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_cpus_allowed);
48 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_task_cpu);
49 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_try_to_wake_up);
50 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_try_to_wake_up_success);
51 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_fork);
52 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_wake_up_new_task);
53 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_new_task_stats);
54 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_flush_task);
55 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_tick_entry);
56 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_schedule);
57 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_cpu_starting);
58 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_cpu_dying);
59 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_account_irq);
60 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_account_irq_start);
61 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_account_irq_end);
62 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_place_entity);
63 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_build_perf_domains);
64 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_cpu_capacity);
65 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_misfit_status);
66 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_util_fits_cpu);
67 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_fork_init);
68 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_ttwu_cond);
69 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_schedule_bug);
70 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_exec);
71 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_map_util_freq);
72 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_map_util_freq_new);
73 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_em_cpu_energy);
74 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_build_sched_domains);
75 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_check_preempt_tick);
76 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_check_preempt_wakeup_ignore);
77 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_replace_next_task_fair);
78 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_balance_rt);
79 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_pick_next_entity);
80 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_check_preempt_wakeup);
81 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_do_sched_yield);
82 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_free_task);
83 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_irqtime_account_process_tick);
84 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_uclamp_eff_get);
85 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_after_enqueue_task);
86 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_after_dequeue_task);
87 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_enqueue_entity);
88 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_dequeue_entity);
89 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_entity_tick);
90 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_enqueue_task_fair);
91 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_dequeue_task_fair);
92 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_em_dev_register_pd);
93 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sched_stat_runtime_rt);
94 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_post_init_entity_util_avg);
95 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_new_ilb);
96 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_util_est_update);
97 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_uclamp_validate);
98 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_setscheduler_uclamp);
99 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_do_wake_up_sync);
100 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_wake_flags);
101 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_effective_cpu_util);
102 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_force_compatible_pre);
103 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_force_compatible_post);
104 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_dup_task_struct);
105 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_account_task_time);
106 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_attach_entity_load_avg);
107 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_detach_entity_load_avg);
108 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_load_sum);
109 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_load_avg);
110 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_remove_entity_load_avg);
111 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_blocked_fair);
112 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_rt_rq_load_avg);
113 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_cpus_allowed_by_task);
114 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_cpus_allowed_comm);
115 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sched_setaffinity_early);
116 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_prio_inheritance);
117 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_prio_restore);
118