diff --git a/include/trace/hooks/sched.h b/include/trace/hooks/sched.h index 43b5595272f8..5e5a8256daab 100644 --- a/include/trace/hooks/sched.h +++ b/include/trace/hooks/sched.h @@ -124,6 +124,10 @@ DECLARE_RESTRICTED_HOOK(android_rvh_sched_setaffinity, TP_PROTO(struct task_struct *p, const struct cpumask *in_mask, int *retval), TP_ARGS(p, in_mask, retval), 1); +DECLARE_RESTRICTED_HOOK(android_rvh_sched_getaffinity, + TP_PROTO(struct task_struct *p, struct cpumask *in_mask), + TP_ARGS(p, in_mask), 1); + DECLARE_RESTRICTED_HOOK(android_rvh_update_cpus_allowed, TP_PROTO(struct task_struct *p, cpumask_var_t cpus_requested, const struct cpumask *new_mask, int *ret), diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 33b0a7892bc0..ad8cffc4b08f 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -8303,6 +8303,7 @@ long sched_getaffinity(pid_t pid, struct cpumask *mask) raw_spin_lock_irqsave(&p->pi_lock, flags); cpumask_and(mask, &p->cpus_mask, cpu_active_mask); + trace_android_rvh_sched_getaffinity(p, mask); raw_spin_unlock_irqrestore(&p->pi_lock, flags); out_unlock: diff --git a/kernel/sched/vendor_hooks.c b/kernel/sched/vendor_hooks.c index 1825d84b62f3..59b1f9215a3a 100644 --- a/kernel/sched/vendor_hooks.c +++ b/kernel/sched/vendor_hooks.c @@ -74,3 +74,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_misfit_status); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_rto_next_cpu); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_is_cpu_allowed); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_get_nohz_timer_target); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_getaffinity);