1 // SPDX-License-Identifier: GPL-2.0-only 2 /* vendor_hook.c 3 * 4 * Copyright 2022 Google LLC 5 */ 6 #ifndef __GENKSYMS__ 7 #include "sched.h" 8 #include "pelt.h" 9 #include "smp.h" 10 #else 11 /* 12 * These includes are necessary to preserve the KMI for the 13 * scheduler-related vendor hooks. 14 */ 15 #include <trace/hooks/gic.h> 16 #include <trace/hooks/mm.h> 17 #include <trace/hooks/ufshcd.h> 18 #include <trace/hooks/block.h> 19 #include <trace/hooks/pm_domain.h> 20 #include <trace/hooks/remoteproc.h> 21 #include <trace/hooks/power.h> 22 #include <trace/hooks/fault.h> 23 #include <trace/hooks/traps.h> 24 #include <trace/hooks/fips140.h> 25 #include <trace/hooks/thermal.h> 26 #include <trace/hooks/cfg80211.h> 27 #endif 28 29 #define CREATE_TRACE_POINTS 30 #include <trace/hooks/vendor_hooks.h> 31 #include <linux/tracepoint.h> 32 #include <trace/hooks/sched.h> 33 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_select_task_rq_fair); 34 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_select_task_rq_rt); 35 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_select_task_rq_dl); 36 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_select_fallback_rq); 37 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_scheduler_tick); 38 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_enqueue_task); 39 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_dequeue_task); 40 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_can_migrate_task); 41 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_lowest_rq); 42 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_prepare_prio_fork); 43 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_finish_prio_fork); 44 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_rtmutex_force_update); 45 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_rtmutex_prepare_setprio); 46 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_rto_next_cpu); 47 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_is_cpu_allowed); 48 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_get_nohz_timer_target); 49 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_user_nice); 50 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_setscheduler); 51 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_busiest_group); 52 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_dump_throttled_rt_tasks); 53 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_jiffies_update); 54 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_newidle_balance); 55 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_nohz_balancer_kick); 56 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_rebalance_domains); 57 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_busiest_queue); 58 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_migrate_queued_task); 59 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_energy_efficient_cpu); 60 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_sugov_sched_attr); 61 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_iowait); 62 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_sugov_update); 63 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_cpu_overutilized); 64 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_setaffinity); 65 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_getaffinity); 66 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_cpus_allowed); 67 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_task_cpu); 68 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_try_to_wake_up); 69 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_try_to_wake_up_success); 70 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_fork); 71 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_wake_up_new_task); 72 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_new_task_stats); 73 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_flush_task); 74 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_tick_entry); 75 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_schedule); 76 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_cpu_starting); 77 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_cpu_dying); 78 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_account_irq); 79 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_account_irq_start); 80 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_account_irq_end); 81 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_place_entity); 82 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_build_perf_domains); 83 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_cpu_capacity); 84 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_misfit_status); 85 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_fork_init); 86 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_ttwu_cond); 87 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_schedule_bug); 88 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_exec); 89 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_map_util_freq); 90 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_map_util_freq_new); 91 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_em_cpu_energy); 92 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_build_sched_domains); 93 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_check_preempt_tick); 94 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_check_preempt_wakeup_ignore); 95 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_replace_next_task_fair); 96 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_balance_rt); 97 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_pick_next_entity); 98 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_check_preempt_wakeup); 99 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_cpus_allowed_ptr_locked); 100 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_cpus_allowed_by_task); 101 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_do_sched_yield); 102 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_free_task); 103 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_irqtime_account_process_tick); 104 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sched_pelt_multiplier); 105 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_uclamp_eff_get); 106 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_after_enqueue_task); 107 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_after_dequeue_task); 108 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_enqueue_entity); 109 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_dequeue_entity); 110 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_entity_tick); 111 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_enqueue_task_fair); 112 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_dequeue_task_fair); 113 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_em_dev_register_pd); 114 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sched_stat_runtime_rt); 115 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_post_init_entity_util_avg); 116 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_new_ilb); 117 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_util_est_update); 118 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_setscheduler_uclamp); 119 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_do_wake_up_sync); 120 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_wake_flags); 121 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_effective_cpu_util); 122 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_force_compatible_pre); 123 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_force_compatible_post); 124 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_dup_task_struct); 125 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_account_task_time); 126 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_cpus_allowed_comm); 127 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sched_setaffinity_early); 128 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_rt_rq_load_avg); 129 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_task_comm); 130 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmput); 131