From 627a494ef3370e8dcb10938f2e7a67b79cf0a28a Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 25 Jan 2021 10:00:27 +0100 Subject: [PATCH] Revert "ANDROID: Sched: Add restricted vendor hooks for scheduler" This reverts commit 292f430816f36384634ca1365ccc67c08302dd21 as the upstream scheduler changes causes too many merge conflicts such that the placement of these hooks can no longer guaranteed to be correct. Bug: 173725277 Signed-off-by: Shaleen Agrawal Signed-off-by: Pavankumar Kondeti Signed-off-by: Greg Kroah-Hartman Change-Id: I204571a761d6aecdd6ea99e2e8a3e6824f5261cb --- drivers/android/vendor_hooks.c | 15 --------- include/trace/hooks/sched.h | 61 ---------------------------------- kernel/sched/core.c | 18 +--------- kernel/sched/cputime.c | 3 -- kernel/sched/fair.c | 7 +--- 5 files changed, 2 insertions(+), 102 deletions(-) diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index ed487644d890..745a24a84131 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -98,21 +98,6 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_preempt_disable); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_preempt_enable); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_irqs_disable); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_irqs_enable); -EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_task_cpu); -EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_try_to_wake_up); -EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_try_to_wake_up_success); -EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_fork); -EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_wake_up_new_task); -EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_new_task_stats); -EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_flush_task); -EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_tick_entry); -EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_schedule); -EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_cpu_starting); -EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_cpu_dying); -EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_account_irq); -EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_place_entity); -EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_cpu_capacity); -EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_misfit_status); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_cpu_cgroup_attach); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_cpu_cgroup_can_attach); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_map_util_freq); diff --git a/include/trace/hooks/sched.h b/include/trace/hooks/sched.h index 8c05ed7ff612..8173569953ba 100644 --- a/include/trace/hooks/sched.h +++ b/include/trace/hooks/sched.h @@ -124,67 +124,6 @@ DECLARE_RESTRICTED_HOOK(android_rvh_update_cpus_allowed, const struct cpumask *new_mask, int *ret), TP_ARGS(p, cpus_requested, new_mask, ret), 1); -DECLARE_RESTRICTED_HOOK(android_rvh_set_task_cpu, - TP_PROTO(struct task_struct *p, unsigned int new_cpu), - TP_ARGS(p, new_cpu), 1); - -DECLARE_RESTRICTED_HOOK(android_rvh_try_to_wake_up, - TP_PROTO(struct task_struct *p), - TP_ARGS(p), 1); - -DECLARE_RESTRICTED_HOOK(android_rvh_try_to_wake_up_success, - TP_PROTO(struct task_struct *p), - TP_ARGS(p), 1); - -DECLARE_RESTRICTED_HOOK(android_rvh_sched_fork, - TP_PROTO(struct task_struct *p), - TP_ARGS(p), 1); - -DECLARE_RESTRICTED_HOOK(android_rvh_wake_up_new_task, - TP_PROTO(struct task_struct *p), - TP_ARGS(p), 1); - -DECLARE_RESTRICTED_HOOK(android_rvh_new_task_stats, - TP_PROTO(struct task_struct *p), - TP_ARGS(p), 1); - -DECLARE_RESTRICTED_HOOK(android_rvh_flush_task, - TP_PROTO(struct task_struct *prev), - TP_ARGS(prev), 1); - -DECLARE_RESTRICTED_HOOK(android_rvh_tick_entry, - TP_PROTO(struct rq *rq), - TP_ARGS(rq), 1); - -DECLARE_RESTRICTED_HOOK(android_rvh_schedule, - TP_PROTO(struct task_struct *prev, struct task_struct *next, struct rq *rq), - TP_ARGS(prev, next, rq), 1); - -DECLARE_RESTRICTED_HOOK(android_rvh_sched_cpu_starting, - TP_PROTO(int cpu), - TP_ARGS(cpu), 1); - -DECLARE_RESTRICTED_HOOK(android_rvh_sched_cpu_dying, - TP_PROTO(int cpu), - TP_ARGS(cpu), 1); - -DECLARE_RESTRICTED_HOOK(android_rvh_account_irq, - TP_PROTO(struct task_struct *curr, int cpu, s64 delta), - TP_ARGS(curr, cpu, delta), 1); - -struct sched_entity; -DECLARE_RESTRICTED_HOOK(android_rvh_place_entity, - TP_PROTO(struct sched_entity *se, u64 vruntime), - TP_ARGS(se, vruntime), 1); - -DECLARE_RESTRICTED_HOOK(android_rvh_update_cpu_capacity, - TP_PROTO(int cpu, unsigned long *capacity), - TP_ARGS(cpu, capacity), 1); - -DECLARE_RESTRICTED_HOOK(android_rvh_update_misfit_status, - TP_PROTO(struct task_struct *p, struct rq *rq, bool *need_update), - TP_ARGS(p, rq, need_update), 1); - struct cgroup_taskset; DECLARE_RESTRICTED_HOOK(android_rvh_cpu_cgroup_attach, TP_PROTO(struct cgroup_taskset *tset), diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 9ba82ee7dd94..06c495196256 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2475,7 +2475,6 @@ void set_task_cpu(struct task_struct *p, unsigned int new_cpu) p->se.nr_migrations++; rseq_migrate(p); perf_event_task_migrate(p); - trace_android_rvh_set_task_cpu(p, new_cpu); } __set_task_cpu(p, new_cpu); @@ -3473,8 +3472,6 @@ try_to_wake_up(struct task_struct *p, unsigned int state, int wake_flags) */ smp_cond_load_acquire(&p->on_cpu, !VAL); - trace_android_rvh_try_to_wake_up(p); - cpu = select_task_rq(p, p->wake_cpu, wake_flags | WF_TTWU); if (task_cpu(p) != cpu) { if (p->in_iowait) { @@ -3494,10 +3491,8 @@ try_to_wake_up(struct task_struct *p, unsigned int state, int wake_flags) unlock: raw_spin_unlock_irqrestore(&p->pi_lock, flags); out: - if (success) { - trace_android_rvh_try_to_wake_up_success(p); + if (success) ttwu_stat(p, task_cpu(p), wake_flags); - } preempt_enable(); return success; @@ -3742,8 +3737,6 @@ int sched_fork(unsigned long clone_flags, struct task_struct *p) { unsigned long flags; - trace_android_rvh_sched_fork(p); - __sched_fork(clone_flags, p); /* * We mark the process as NEW here. This guarantees that @@ -3857,8 +3850,6 @@ void wake_up_new_task(struct task_struct *p) struct rq_flags rf; struct rq *rq; - trace_android_rvh_wake_up_new_task(p); - raw_spin_lock_irqsave(&p->pi_lock, rf.flags); p->state = TASK_RUNNING; #ifdef CONFIG_SMP @@ -3877,7 +3868,6 @@ void wake_up_new_task(struct task_struct *p) rq = __task_rq_lock(p, &rf); update_rq_clock(rq); post_init_entity_util_avg(p); - trace_android_rvh_new_task_stats(p); activate_task(rq, p, ENQUEUE_NOCLOCK); trace_sched_wakeup_new(p); @@ -4265,7 +4255,6 @@ static struct rq *finish_task_switch(struct task_struct *prev) * task and put them back on the free list. */ kprobe_flush_task(prev); - trace_android_rvh_flush_task(prev); /* Task is done with its stack. */ put_task_stack(prev); @@ -4577,7 +4566,6 @@ void scheduler_tick(void) rq_lock(rq, &rf); - trace_android_rvh_tick_entry(rq); update_rq_clock(rq); thermal_pressure = arch_scale_thermal_pressure(cpu_of(rq)); update_thermal_load_avg(rq_clock_thermal(rq), rq, thermal_pressure); @@ -5084,7 +5072,6 @@ static void __sched notrace __schedule(bool preempt) clear_tsk_need_resched(prev); clear_preempt_need_resched(); - trace_android_rvh_schedule(prev, next, rq); if (likely(prev != next)) { rq->nr_switches++; /* @@ -7587,7 +7574,6 @@ int sched_cpu_starting(unsigned int cpu) { sched_rq_cpu_starting(cpu); sched_tick_start(cpu); - trace_android_rvh_sched_cpu_starting(cpu); return 0; } @@ -7639,8 +7625,6 @@ int sched_cpu_dying(unsigned int cpu) BUG_ON(rq->nr_running != 1 || rq_has_pinned_tasks(rq)); rq_unlock_irqrestore(rq, &rf); - trace_android_rvh_sched_cpu_dying(cpu); - calc_load_migrate(rq); update_max_interval(); nohz_balance_exit_idle(rq); diff --git a/kernel/sched/cputime.c b/kernel/sched/cputime.c index bdda871c8865..2412a595f183 100644 --- a/kernel/sched/cputime.c +++ b/kernel/sched/cputime.c @@ -4,7 +4,6 @@ */ #include #include "sched.h" -#include #ifdef CONFIG_IRQ_TIME_ACCOUNTING @@ -75,8 +74,6 @@ void irqtime_account_irq(struct task_struct *curr, unsigned int offset) irqtime_account_delta(irqtime, delta, CPUTIME_IRQ); else if ((pc & SOFTIRQ_OFFSET) && curr != this_cpu_ksoftirqd()) irqtime_account_delta(irqtime, delta, CPUTIME_SOFTIRQ); - - trace_android_rvh_account_irq(curr, cpu, delta); } static u64 irqtime_tick_accounted(u64 maxtime) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index e60cfe22a278..859d48ad26c3 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -4052,10 +4052,7 @@ static inline int task_fits_capacity(struct task_struct *p, long capacity) static inline void update_misfit_status(struct task_struct *p, struct rq *rq) { - bool need_update = true; - - trace_android_rvh_update_misfit_status(p, rq, &need_update); - if (!static_branch_unlikely(&sched_asym_cpucapacity) || !need_update) + if (!static_branch_unlikely(&sched_asym_cpucapacity)) return; if (!p) { @@ -4147,7 +4144,6 @@ place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int initial) thresh >>= 1; vruntime -= thresh; - trace_android_rvh_place_entity(se, vruntime); } /* ensure we never gain time by being placed backwards. */ @@ -8240,7 +8236,6 @@ static void update_cpu_capacity(struct sched_domain *sd, int cpu) if (!capacity) capacity = 1; - trace_android_rvh_update_cpu_capacity(cpu, &capacity); cpu_rq(cpu)->cpu_capacity = capacity; trace_sched_cpu_capacity_tp(cpu_rq(cpu));