Loading include/linux/sched.h +2 −1 Original line number Diff line number Diff line Loading @@ -602,11 +602,12 @@ struct ravg { u32 sum_history[RAVG_HIST_SIZE_MAX]; u32 *curr_window_cpu, *prev_window_cpu; u32 curr_window, prev_window; u16 active_windows; u32 pred_demand; u8 busy_buckets[NUM_BUSY_BUCKETS]; u16 demand_scaled; u16 pred_demand_scaled; u64 active_time; u64 last_win_size; }; #else static inline void sched_exit(struct task_struct *p) { } Loading include/linux/sched/sysctl.h +6 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ extern unsigned int sysctl_sched_coloc_busy_hyst_enable_cpus; extern unsigned int sysctl_sched_coloc_busy_hyst; extern unsigned int sysctl_sched_coloc_busy_hyst_max_ms; extern unsigned int sysctl_sched_window_stats_policy; extern unsigned int sysctl_sched_ravg_window_nr_ticks; extern int walt_proc_group_thresholds_handler(struct ctl_table *table, int write, Loading @@ -64,6 +65,11 @@ walt_proc_user_hint_handler(struct ctl_table *table, int write, void __user *buffer, size_t *lenp, loff_t *ppos); extern int sched_ravg_window_handler(struct ctl_table *table, int write, void __user *buffer, size_t *lenp, loff_t *ppos); #endif #if defined(CONFIG_PREEMPT_TRACER) || defined(CONFIG_DEBUG_PREEMPT) Loading include/linux/sysctl.h +4 −0 Original line number Diff line number Diff line Loading @@ -67,6 +67,10 @@ extern int proc_douintvec_capacity(struct ctl_table *table, int write, void __user *buffer, size_t *lenp, loff_t *ppos); extern int proc_douintvec_ravg_window(struct ctl_table *table, int write, void __user *buffer, size_t *lenp, loff_t *ppos); /* * Register a set of sysctl names by calling register_sysctl_table * with an initialised array of struct ctl_table's. An entry with Loading include/trace/events/walt.h +4 −4 Original line number Diff line number Diff line Loading @@ -238,7 +238,7 @@ TRACE_EVENT(sched_update_task_ravg, __dynamic_array(u32, prev_sum, nr_cpu_ids) __field(u64, nt_cs) __field(u64, nt_ps) __field(u32, active_windows) __field(u64, active_time) __field(u32, curr_top) __field(u32, prev_top) ), Loading Loading @@ -276,12 +276,12 @@ TRACE_EVENT(sched_update_task_ravg, p->ravg.prev_window_cpu); __entry->nt_cs = rq->nt_curr_runnable_sum; __entry->nt_ps = rq->nt_prev_runnable_sum; __entry->active_windows = p->ravg.active_windows; __entry->active_time = p->ravg.active_time; __entry->curr_top = rq->curr_top; __entry->prev_top = rq->prev_top; ), TP_printk("wc %llu ws %llu delta %llu event %s cpu %d cur_freq %u cur_pid %d task %d (%s) ms %llu delta %llu demand %u coloc_demand: %u sum %u irqtime %llu pred_demand %u rq_cs %llu rq_ps %llu cur_window %u (%s) prev_window %u (%s) nt_cs %llu nt_ps %llu active_wins %u grp_cs %lld grp_ps %lld, grp_nt_cs %llu, grp_nt_ps: %llu curr_top %u prev_top %u", TP_printk("wc %llu ws %llu delta %llu event %s cpu %d cur_freq %u cur_pid %d task %d (%s) ms %llu delta %llu demand %u coloc_demand: %u sum %u irqtime %llu pred_demand %u rq_cs %llu rq_ps %llu cur_window %u (%s) prev_window %u (%s) nt_cs %llu nt_ps %llu active_time %u grp_cs %lld grp_ps %lld, grp_nt_cs %llu, grp_nt_ps: %llu curr_top %u prev_top %u", __entry->wallclock, __entry->win_start, __entry->delta, task_event_names[__entry->evt], __entry->cpu, __entry->cur_freq, __entry->cur_pid, Loading @@ -293,7 +293,7 @@ TRACE_EVENT(sched_update_task_ravg, __entry->prev_window, __window_print(p, __get_dynamic_array(prev_sum), nr_cpu_ids), __entry->nt_cs, __entry->nt_ps, __entry->active_windows, __entry->grp_cs, __entry->active_time, __entry->grp_cs, __entry->grp_ps, __entry->grp_nt_cs, __entry->grp_nt_ps, __entry->curr_top, __entry->prev_top) ); Loading kernel/sched/sched.h +1 −0 Original line number Diff line number Diff line Loading @@ -991,6 +991,7 @@ struct rq { struct walt_sched_stats walt_stats; u64 window_start; u32 prev_window_size; unsigned long walt_flags; u64 cur_irqload; Loading Loading
include/linux/sched.h +2 −1 Original line number Diff line number Diff line Loading @@ -602,11 +602,12 @@ struct ravg { u32 sum_history[RAVG_HIST_SIZE_MAX]; u32 *curr_window_cpu, *prev_window_cpu; u32 curr_window, prev_window; u16 active_windows; u32 pred_demand; u8 busy_buckets[NUM_BUSY_BUCKETS]; u16 demand_scaled; u16 pred_demand_scaled; u64 active_time; u64 last_win_size; }; #else static inline void sched_exit(struct task_struct *p) { } Loading
include/linux/sched/sysctl.h +6 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ extern unsigned int sysctl_sched_coloc_busy_hyst_enable_cpus; extern unsigned int sysctl_sched_coloc_busy_hyst; extern unsigned int sysctl_sched_coloc_busy_hyst_max_ms; extern unsigned int sysctl_sched_window_stats_policy; extern unsigned int sysctl_sched_ravg_window_nr_ticks; extern int walt_proc_group_thresholds_handler(struct ctl_table *table, int write, Loading @@ -64,6 +65,11 @@ walt_proc_user_hint_handler(struct ctl_table *table, int write, void __user *buffer, size_t *lenp, loff_t *ppos); extern int sched_ravg_window_handler(struct ctl_table *table, int write, void __user *buffer, size_t *lenp, loff_t *ppos); #endif #if defined(CONFIG_PREEMPT_TRACER) || defined(CONFIG_DEBUG_PREEMPT) Loading
include/linux/sysctl.h +4 −0 Original line number Diff line number Diff line Loading @@ -67,6 +67,10 @@ extern int proc_douintvec_capacity(struct ctl_table *table, int write, void __user *buffer, size_t *lenp, loff_t *ppos); extern int proc_douintvec_ravg_window(struct ctl_table *table, int write, void __user *buffer, size_t *lenp, loff_t *ppos); /* * Register a set of sysctl names by calling register_sysctl_table * with an initialised array of struct ctl_table's. An entry with Loading
include/trace/events/walt.h +4 −4 Original line number Diff line number Diff line Loading @@ -238,7 +238,7 @@ TRACE_EVENT(sched_update_task_ravg, __dynamic_array(u32, prev_sum, nr_cpu_ids) __field(u64, nt_cs) __field(u64, nt_ps) __field(u32, active_windows) __field(u64, active_time) __field(u32, curr_top) __field(u32, prev_top) ), Loading Loading @@ -276,12 +276,12 @@ TRACE_EVENT(sched_update_task_ravg, p->ravg.prev_window_cpu); __entry->nt_cs = rq->nt_curr_runnable_sum; __entry->nt_ps = rq->nt_prev_runnable_sum; __entry->active_windows = p->ravg.active_windows; __entry->active_time = p->ravg.active_time; __entry->curr_top = rq->curr_top; __entry->prev_top = rq->prev_top; ), TP_printk("wc %llu ws %llu delta %llu event %s cpu %d cur_freq %u cur_pid %d task %d (%s) ms %llu delta %llu demand %u coloc_demand: %u sum %u irqtime %llu pred_demand %u rq_cs %llu rq_ps %llu cur_window %u (%s) prev_window %u (%s) nt_cs %llu nt_ps %llu active_wins %u grp_cs %lld grp_ps %lld, grp_nt_cs %llu, grp_nt_ps: %llu curr_top %u prev_top %u", TP_printk("wc %llu ws %llu delta %llu event %s cpu %d cur_freq %u cur_pid %d task %d (%s) ms %llu delta %llu demand %u coloc_demand: %u sum %u irqtime %llu pred_demand %u rq_cs %llu rq_ps %llu cur_window %u (%s) prev_window %u (%s) nt_cs %llu nt_ps %llu active_time %u grp_cs %lld grp_ps %lld, grp_nt_cs %llu, grp_nt_ps: %llu curr_top %u prev_top %u", __entry->wallclock, __entry->win_start, __entry->delta, task_event_names[__entry->evt], __entry->cpu, __entry->cur_freq, __entry->cur_pid, Loading @@ -293,7 +293,7 @@ TRACE_EVENT(sched_update_task_ravg, __entry->prev_window, __window_print(p, __get_dynamic_array(prev_sum), nr_cpu_ids), __entry->nt_cs, __entry->nt_ps, __entry->active_windows, __entry->grp_cs, __entry->active_time, __entry->grp_cs, __entry->grp_ps, __entry->grp_nt_cs, __entry->grp_nt_ps, __entry->curr_top, __entry->prev_top) ); Loading
kernel/sched/sched.h +1 −0 Original line number Diff line number Diff line Loading @@ -991,6 +991,7 @@ struct rq { struct walt_sched_stats walt_stats; u64 window_start; u32 prev_window_size; unsigned long walt_flags; u64 cur_irqload; Loading