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

Commit 961c3a5f authored by Pavankumar Kondeti's avatar Pavankumar Kondeti Committed by Gerrit - the friendly Code Review server
Browse files

sched/walt: Improve the scheduler



This change is for general scheduler improvements.

Change-Id: Ica36bb6ccd4c2d8897dab62614eadb5a060d5390
Signed-off-by: default avatarPavankumar Kondeti <pkondeti@codeaurora.org>
parent d0a6a9b7
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -2489,7 +2489,8 @@ static void ttwu_queue(struct task_struct *p, int cpu, int wake_flags)
	struct rq_flags rf;

#if defined(CONFIG_SMP)
	if (sched_feat(TTWU_QUEUE) && !cpus_share_cache(smp_processor_id(), cpu)) {
	if ((sched_feat(TTWU_QUEUE) && !cpus_share_cache(smp_processor_id(), cpu)) ||
			walt_want_remote_wakeup()) {
		sched_clock_cpu(cpu); /* Sync clocks across CPUs */
		ttwu_queue_remote(p, cpu, wake_flags);
		return;
+10 −0
Original line number Diff line number Diff line
@@ -2859,6 +2859,12 @@ enum sched_boost_policy {

#ifdef CONFIG_SCHED_WALT

#define WALT_MANY_WAKEUP_DEFAULT 1000
static inline bool walt_want_remote_wakeup(void)
{
	return sysctl_sched_many_wakeup_threshold < WALT_MANY_WAKEUP_DEFAULT;
}

static inline int cluster_first_cpu(struct walt_sched_cluster *cluster)
{
	return cpumask_first(&cluster->cpus);
@@ -3268,6 +3274,10 @@ static inline bool early_detection_notify(struct rq *rq, u64 wallclock)
}

static inline void note_task_waking(struct task_struct *p, u64 wallclock) { }
static inline bool walt_want_remote_wakeup(void)
{
	return false;
}
#endif  /* CONFIG_SCHED_WALT */

struct sched_avg_stats {