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

Commit b85d0667 authored by Ingo Molnar's avatar Ingo Molnar
Browse files

sched: introduce SCHED_FEAT_SYNC_WAKEUPS, turn it off



turn off sync wakeups by default. They are not needed anymore - the
buddy logic should be smart enough to keep the system from
overscheduling.

Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 0bbd3336
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -627,6 +627,7 @@ enum {
	SCHED_FEAT_START_DEBIT		= 4,
	SCHED_FEAT_HRTICK		= 8,
	SCHED_FEAT_DOUBLE_TICK		= 16,
	SCHED_FEAT_SYNC_WAKEUPS		= 32,
};

const_debug unsigned int sysctl_sched_features =
@@ -634,7 +635,8 @@ const_debug unsigned int sysctl_sched_features =
		SCHED_FEAT_WAKEUP_PREEMPT	* 1 |
		SCHED_FEAT_START_DEBIT		* 1 |
		SCHED_FEAT_HRTICK		* 1 |
		SCHED_FEAT_DOUBLE_TICK		* 0;
		SCHED_FEAT_DOUBLE_TICK		* 0 |
		SCHED_FEAT_SYNC_WAKEUPS		* 0;

#define sched_feat(x) (sysctl_sched_features & SCHED_FEAT_##x)

@@ -1916,6 +1918,9 @@ static int try_to_wake_up(struct task_struct *p, unsigned int state, int sync)
	long old_state;
	struct rq *rq;

	if (!sched_feat(SYNC_WAKEUPS))
		sync = 0;

	smp_wmb();
	rq = task_rq_lock(p, &flags);
	old_state = p->state;