sched: Improve the scheduler

This change is for general scheduler improvements.

Change-Id: I6dc8fd228ca34fd36cdbaf58c42812bae3dcff7d
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Signed-off-by: Stephen Dickey <dickey@codeaurora.org>
This commit is contained in:
Stephen Dickey 2020-05-28 16:59:41 -07:00 • committed by Stephen Dickey
commit b2cc9bc552
5 changed files with 5 additions and 10 deletions

View file

@ -550,7 +550,7 @@ static inline int hh_vcpu_populate_affinity_info(u32 cpu_index, u64 cap_id)
#endif /* CONFIG_QCOM_HYP_CORE_CTL */
#ifdef CONFIG_SCHED_WALT
extern void sched_exit(struct task_struct *p);
extern void walt_task_dead(struct task_struct *p);
extern int
register_cpu_cycle_counter_cb(struct cpu_cycle_counter_cb *cb);
extern void
@ -626,7 +626,7 @@ struct walt_task_struct {
};
#else
static inline void sched_exit(struct task_struct *p) { }
static inline void walt_task_dead(struct task_struct *p) { }
static inline int
register_cpu_cycle_counter_cb(struct cpu_cycle_counter_cb *cb)

View file

@ -748,7 +748,6 @@ void __noreturn do_exit(long code)
}
exit_signals(tsk); /* sets PF_EXITING */
sched_exit(tsk);
if (unlikely(in_atomic())) {
pr_info("note: %s[%d] exited with preempt_count %d\n",

View file

@ -3348,6 +3348,7 @@ static struct rq *finish_task_switch(struct task_struct *prev)
*/
kprobe_flush_task(prev);
walt_task_dead(prev);
/* Task is done with its stack. */
put_task_stack(prev);

View file

@ -61,8 +61,6 @@ int __weak sched_unisolate_cpu(int cpu) { return 0; }
int __weak sched_unisolate_cpu_unlocked(int cpu) { return 0; }
void __weak sched_exit(struct task_struct *p) { }
int __weak register_cpu_cycle_counter_cb(struct cpu_cycle_counter_cb *cb)
{
return 0;
@ -212,6 +210,8 @@ void __weak walt_sched_init_rq(struct rq *rq) { }
void __weak walt_update_cluster_topology(void) { }
void __weak walt_task_dead(struct task_struct *p) { }
#if defined(CONFIG_UCLAMP_TASK_GROUP)
void __weak walt_init_sched_boost(struct task_group *tg) { }
#endif

View file

@ -126,11 +126,6 @@ static inline int sched_cpu_high_irqload(int cpu)
return cpu_rq(cpu)->wrq.high_irqload;
}
static inline int exiting_task(struct task_struct *p)
{
return (p->wts.sum_history[0] == EXITING_TASK_MARKER);
}
static inline u64
scale_load_to_freq(u64 load, unsigned int src_freq, unsigned int dst_freq)
{