mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-08 12:58:12 -04:00
Merge "sched/walt: Remove fixup_walt_sched_stats sched_class method"
This commit is contained in:
commit
2a8de75724
10 changed files with 380 additions and 501 deletions
|
|
@ -998,11 +998,11 @@ TRACE_EVENT(sched_task_util,
|
|||
TP_PROTO(struct task_struct *p, unsigned long candidates,
|
||||
int best_energy_cpu, bool sync, int need_idle, int fastpath,
|
||||
bool placement_boost, u64 start_t,
|
||||
bool stune_boosted, bool is_rtg, bool rtg_skip_min,
|
||||
bool uclamp_boosted, bool is_rtg, bool rtg_skip_min,
|
||||
int start_cpu),
|
||||
|
||||
TP_ARGS(p, candidates, best_energy_cpu, sync, need_idle, fastpath,
|
||||
placement_boost, start_t, stune_boosted, is_rtg, rtg_skip_min,
|
||||
placement_boost, start_t, uclamp_boosted, is_rtg, rtg_skip_min,
|
||||
start_cpu),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
|
|
@ -1018,7 +1018,7 @@ TRACE_EVENT(sched_task_util,
|
|||
__field(int, placement_boost)
|
||||
__field(int, rtg_cpu)
|
||||
__field(u64, latency)
|
||||
__field(bool, stune_boosted)
|
||||
__field(bool, uclamp_boosted)
|
||||
__field(bool, is_rtg)
|
||||
__field(bool, rtg_skip_min)
|
||||
__field(int, start_cpu)
|
||||
|
|
@ -1039,7 +1039,7 @@ TRACE_EVENT(sched_task_util,
|
|||
__entry->fastpath = fastpath;
|
||||
__entry->placement_boost = placement_boost;
|
||||
__entry->latency = (sched_clock() - start_t);
|
||||
__entry->stune_boosted = stune_boosted;
|
||||
__entry->uclamp_boosted = uclamp_boosted;
|
||||
__entry->is_rtg = is_rtg;
|
||||
__entry->rtg_skip_min = rtg_skip_min;
|
||||
__entry->start_cpu = start_cpu;
|
||||
|
|
@ -1061,7 +1061,7 @@ TRACE_EVENT(sched_task_util,
|
|||
__entry->pid, __entry->comm, __entry->util, __entry->prev_cpu,
|
||||
__entry->candidates, __entry->best_energy_cpu, __entry->sync,
|
||||
__entry->need_idle, __entry->fastpath, __entry->placement_boost,
|
||||
__entry->latency, __entry->stune_boosted,
|
||||
__entry->latency, __entry->uclamp_boosted,
|
||||
__entry->is_rtg, __entry->rtg_skip_min, __entry->start_cpu,
|
||||
__entry->unfilter, __entry->cpus_allowed, __entry->task_boost)
|
||||
)
|
||||
|
|
@ -1073,12 +1073,13 @@ TRACE_EVENT(sched_find_best_target,
|
|||
|
||||
TP_PROTO(struct task_struct *tsk,
|
||||
unsigned long min_util, int start_cpu,
|
||||
int best_idle, int best_active, int most_spare_cap,
|
||||
int target, int backup),
|
||||
int best_idle, int most_spare_cap, int target,
|
||||
int order_index, int end_index,
|
||||
int skip, bool running),
|
||||
|
||||
TP_ARGS(tsk, min_util, start_cpu,
|
||||
best_idle, best_active, most_spare_cap,
|
||||
target, backup),
|
||||
best_idle, most_spare_cap, target,
|
||||
order_index, end_index, skip, running),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__array(char, comm, TASK_COMM_LEN)
|
||||
|
|
@ -1086,10 +1087,12 @@ TRACE_EVENT(sched_find_best_target,
|
|||
__field(unsigned long, min_util)
|
||||
__field(int, start_cpu)
|
||||
__field(int, best_idle)
|
||||
__field(int, best_active)
|
||||
__field(int, most_spare_cap)
|
||||
__field(int, target)
|
||||
__field(int, backup)
|
||||
__field(int, order_index)
|
||||
__field(int, end_index)
|
||||
__field(int, skip)
|
||||
__field(bool, running)
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
|
|
@ -1098,18 +1101,24 @@ TRACE_EVENT(sched_find_best_target,
|
|||
__entry->min_util = min_util;
|
||||
__entry->start_cpu = start_cpu;
|
||||
__entry->best_idle = best_idle;
|
||||
__entry->best_active = best_active;
|
||||
__entry->most_spare_cap = most_spare_cap;
|
||||
__entry->target = target;
|
||||
__entry->backup = backup;
|
||||
__entry->order_index = order_index;
|
||||
__entry->end_index = end_index;
|
||||
__entry->skip = skip;
|
||||
__entry->running = running;
|
||||
),
|
||||
|
||||
TP_printk("pid=%d comm=%s start_cpu=%d best_idle=%d best_active=%d most_spare_cap=%d target=%d backup=%d",
|
||||
TP_printk("pid=%d comm=%s start_cpu=%d best_idle=%d most_spare_cap=%d target=%d order_index=%d end_index=%d skip=%d running=%d",
|
||||
__entry->pid, __entry->comm,
|
||||
__entry->start_cpu,
|
||||
__entry->best_idle, __entry->best_active,
|
||||
__entry->best_idle,
|
||||
__entry->most_spare_cap,
|
||||
__entry->target, __entry->backup)
|
||||
__entry->target,
|
||||
__entry->order_index,
|
||||
__entry->end_index,
|
||||
__entry->skip,
|
||||
__entry->running)
|
||||
);
|
||||
#endif /* CONFIG_SMP */
|
||||
|
||||
|
|
|
|||
|
|
@ -924,7 +924,7 @@ config FAIR_GROUP_SCHED
|
|||
|
||||
config CFS_BANDWIDTH
|
||||
bool "CPU bandwidth provisioning for FAIR_GROUP_SCHED"
|
||||
depends on FAIR_GROUP_SCHED
|
||||
depends on FAIR_GROUP_SCHED && !SCHED_WALT
|
||||
default n
|
||||
help
|
||||
This option allows users to define CPU bandwidth rates (limits) for
|
||||
|
|
|
|||
|
|
@ -2469,9 +2469,6 @@ const struct sched_class dl_sched_class = {
|
|||
.switched_to = switched_to_dl,
|
||||
|
||||
.update_curr = update_curr_dl,
|
||||
#ifdef CONFIG_SCHED_WALT
|
||||
.fixup_walt_sched_stats = fixup_walt_sched_stats_common,
|
||||
#endif
|
||||
};
|
||||
|
||||
int sched_dl_global_validate(void)
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -90,11 +90,6 @@ SCHED_FEAT(WA_BIAS, true)
|
|||
*/
|
||||
SCHED_FEAT(UTIL_EST, true)
|
||||
|
||||
/*
|
||||
* Fast pre-selection of CPU candidates for EAS.
|
||||
*/
|
||||
SCHED_FEAT(FIND_BEST_TARGET, true)
|
||||
|
||||
/*
|
||||
* Request max frequency from schedutil whenever a RT task is running.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -2674,10 +2674,6 @@ const struct sched_class rt_sched_class = {
|
|||
#ifdef CONFIG_UCLAMP_TASK
|
||||
.uclamp_enabled = 1,
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SCHED_WALT
|
||||
.fixup_walt_sched_stats = fixup_walt_sched_stats_common,
|
||||
#endif
|
||||
};
|
||||
|
||||
#ifdef CONFIG_RT_GROUP_SCHED
|
||||
|
|
|
|||
|
|
@ -1905,12 +1905,6 @@ struct sched_class {
|
|||
#ifdef CONFIG_FAIR_GROUP_SCHED
|
||||
void (*task_change_group)(struct task_struct *p, int type);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SCHED_WALT
|
||||
void (*fixup_walt_sched_stats)(struct rq *rq, struct task_struct *p,
|
||||
u16 updated_demand_scaled,
|
||||
u16 updated_pred_demand_scaled);
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -2881,7 +2875,6 @@ struct related_thread_group {
|
|||
|
||||
extern struct sched_cluster *sched_cluster[NR_CPUS];
|
||||
|
||||
extern unsigned int __weak sched_disable_window_stats;
|
||||
extern unsigned int max_possible_capacity;
|
||||
extern unsigned int __weak min_max_possible_capacity;
|
||||
extern unsigned int __read_mostly __weak sched_init_task_load_windows;
|
||||
|
|
@ -3135,13 +3128,6 @@ static inline bool is_min_capacity_cluster(struct sched_cluster *cluster)
|
|||
{
|
||||
return is_min_capacity_cpu(cluster_first_cpu(cluster));
|
||||
}
|
||||
|
||||
extern void walt_fixup_sched_stats_fair(struct rq *rq,
|
||||
struct task_struct *p,
|
||||
u16 updated_demand_scaled,
|
||||
u16 updated_pred_demand_scaled);
|
||||
extern void walt_fixup_nr_big_tasks(struct rq *rq, struct task_struct *p,
|
||||
int delta, bool inc);
|
||||
#else /* CONFIG_SCHED_WALT */
|
||||
|
||||
struct walt_sched_stats;
|
||||
|
|
|
|||
|
|
@ -148,7 +148,4 @@ const struct sched_class stop_sched_class = {
|
|||
.prio_changed = prio_changed_stop,
|
||||
.switched_to = switched_to_stop,
|
||||
.update_curr = update_curr_stop,
|
||||
#ifdef CONFIG_SCHED_WALT
|
||||
.fixup_walt_sched_stats = fixup_walt_sched_stats_common,
|
||||
#endif
|
||||
};
|
||||
|
|
|
|||
|
|
@ -172,12 +172,6 @@ bool __weak early_detection_notify(struct rq *rq, u64 wallclock)
|
|||
|
||||
void __weak note_task_waking(struct task_struct *p, u64 wallclock) { }
|
||||
|
||||
void __weak walt_fixup_sched_stats_fair(struct rq *rq, struct task_struct *p,
|
||||
u16 updated_demand_scaled, u16 updated_pred_demand_scaled) { }
|
||||
|
||||
void __weak walt_fixup_nr_big_tasks(struct rq *rq, struct task_struct *p,
|
||||
int delta, bool inc) { }
|
||||
|
||||
int __weak group_balance_cpu_not_isolated(struct sched_group *sg)
|
||||
{
|
||||
return group_balance_cpu(sg);
|
||||
|
|
@ -191,13 +185,6 @@ void __weak attach_tasks_core(struct list_head *tasks, struct rq *rq) { }
|
|||
void __weak walt_update_task_ravg(struct task_struct *p, struct rq *rq,
|
||||
int event, u64 wallclock, u64 irqtime) { }
|
||||
|
||||
void __weak fixup_walt_sched_stats_common(struct rq *rq, struct task_struct *p,
|
||||
u16 updated_demand_scaled, u16 updated_pred_demand_scaled) { }
|
||||
|
||||
void __weak inc_rq_walt_stats(struct rq *rq, struct task_struct *p) { }
|
||||
|
||||
void __weak dec_rq_walt_stats(struct rq *rq, struct task_struct *p) { }
|
||||
|
||||
void __weak fixup_busy_time(struct task_struct *p, int new_cpu) { }
|
||||
|
||||
void __weak init_new_task_load(struct task_struct *p) { }
|
||||
|
|
|
|||
|
|
@ -14,7 +14,8 @@
|
|||
#define EXITING_TASK_MARKER 0xdeaddead
|
||||
|
||||
extern unsigned int __weak walt_rotation_enabled;
|
||||
|
||||
extern int __read_mostly __weak num_sched_clusters;
|
||||
extern cpumask_t __read_mostly __weak **cpu_array;
|
||||
extern void
|
||||
walt_update_task_ravg(struct task_struct *p, struct rq *rq, int event,
|
||||
u64 wallclock, u64 irqtime);
|
||||
|
|
@ -24,9 +25,6 @@ fixup_cumulative_runnable_avg(struct walt_sched_stats *stats,
|
|||
s64 demand_scaled_delta,
|
||||
s64 pred_demand_scaled_delta)
|
||||
{
|
||||
if (sched_disable_window_stats)
|
||||
return;
|
||||
|
||||
stats->cumulative_runnable_avg_scaled += demand_scaled_delta;
|
||||
BUG_ON((s64)stats->cumulative_runnable_avg_scaled < 0);
|
||||
|
||||
|
|
@ -37,9 +35,6 @@ fixup_cumulative_runnable_avg(struct walt_sched_stats *stats,
|
|||
static inline void
|
||||
walt_inc_cumulative_runnable_avg(struct rq *rq, struct task_struct *p)
|
||||
{
|
||||
if (sched_disable_window_stats)
|
||||
return;
|
||||
|
||||
fixup_cumulative_runnable_avg(&rq->walt_stats, p->ravg.demand_scaled,
|
||||
p->ravg.pred_demand_scaled);
|
||||
|
||||
|
|
@ -57,9 +52,6 @@ walt_inc_cumulative_runnable_avg(struct rq *rq, struct task_struct *p)
|
|||
static inline void
|
||||
walt_dec_cumulative_runnable_avg(struct rq *rq, struct task_struct *p)
|
||||
{
|
||||
if (sched_disable_window_stats)
|
||||
return;
|
||||
|
||||
fixup_cumulative_runnable_avg(&rq->walt_stats,
|
||||
-(s64)p->ravg.demand_scaled,
|
||||
-(s64)p->ravg.pred_demand_scaled);
|
||||
|
|
@ -73,12 +65,32 @@ walt_dec_cumulative_runnable_avg(struct rq *rq, struct task_struct *p)
|
|||
walt_fixup_cum_window_demand(rq, -(s64)p->ravg.demand_scaled);
|
||||
}
|
||||
|
||||
extern void
|
||||
fixup_walt_sched_stats_common(struct rq *rq, struct task_struct *p,
|
||||
u16 updated_demand_scaled,
|
||||
u16 updated_pred_demand_scaled);
|
||||
extern void inc_rq_walt_stats(struct rq *rq, struct task_struct *p);
|
||||
extern void dec_rq_walt_stats(struct rq *rq, struct task_struct *p);
|
||||
static inline void walt_adjust_nr_big_tasks(struct rq *rq, int delta, bool inc)
|
||||
{
|
||||
sched_update_nr_prod(cpu_of(rq), 0, true);
|
||||
rq->walt_stats.nr_big_tasks += inc ? delta : -delta;
|
||||
|
||||
BUG_ON(rq->walt_stats.nr_big_tasks < 0);
|
||||
}
|
||||
|
||||
static inline void inc_rq_walt_stats(struct rq *rq, struct task_struct *p)
|
||||
{
|
||||
if (p->misfit)
|
||||
rq->walt_stats.nr_big_tasks++;
|
||||
|
||||
walt_inc_cumulative_runnable_avg(rq, p);
|
||||
}
|
||||
|
||||
static inline void dec_rq_walt_stats(struct rq *rq, struct task_struct *p)
|
||||
{
|
||||
if (p->misfit)
|
||||
rq->walt_stats.nr_big_tasks--;
|
||||
|
||||
BUG_ON(rq->walt_stats.nr_big_tasks < 0);
|
||||
|
||||
walt_dec_cumulative_runnable_avg(rq, p);
|
||||
}
|
||||
|
||||
extern void fixup_busy_time(struct task_struct *p, int new_cpu);
|
||||
extern void init_new_task_load(struct task_struct *p);
|
||||
extern void mark_task_starting(struct task_struct *p);
|
||||
|
|
@ -239,13 +251,6 @@ inc_rq_walt_stats(struct rq *rq, struct task_struct *p) { }
|
|||
static inline void
|
||||
dec_rq_walt_stats(struct rq *rq, struct task_struct *p) { }
|
||||
|
||||
static inline void
|
||||
fixup_walt_sched_stats_common(struct rq *rq, struct task_struct *p,
|
||||
u16 updated_demand_scaled,
|
||||
u16 updated_pred_demand_scaled)
|
||||
{
|
||||
}
|
||||
|
||||
static inline u64 sched_irqload(int cpu)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
Loading…
Reference in a new issue