Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b2cc9bc5 authored by Stephen Dickey's avatar Stephen Dickey Committed by Stephen Dickey
Browse files

sched: Improve the scheduler



This change is for general scheduler improvements.

Change-Id: I6dc8fd228ca34fd36cdbaf58c42812bae3dcff7d
Signed-off-by: default avatarPavankumar Kondeti <pkondeti@codeaurora.org>
Signed-off-by: default avatarStephen Dickey <dickey@codeaurora.org>
parent e2ac8116
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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)
+0 −1
Original line number Diff line number Diff line
@@ -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",
+1 −0
Original line number Diff line number Diff line
@@ -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);

+2 −2
Original line number Diff line number Diff line
@@ -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
+0 −5
Original line number Diff line number Diff line
@@ -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)
{