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

Commit 3f21247a authored by qctecmdr Service's avatar qctecmdr Service Committed by Gerrit - the friendly Code Review server
Browse files

Merge "sched/fair: Prevent false-positive lockdep warnings"

parents d8d1bc74 55792c5a
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -8400,11 +8400,13 @@ static void detach_task(struct task_struct *p, struct lb_env *env)

	p->on_rq = TASK_ON_RQ_MIGRATING;
	deactivate_task(env->src_rq, p, DEQUEUE_NOCLOCK);
	lockdep_off();
	double_lock_balance(env->src_rq, env->dst_rq);
	if (!(env->src_rq->clock_update_flags & RQCF_UPDATED))
		update_rq_clock(env->src_rq);
	set_task_cpu(p, env->dst_cpu);
	double_unlock_balance(env->src_rq, env->dst_rq);
	lockdep_on();
}

/*
+8 −2
Original line number Diff line number Diff line
@@ -242,9 +242,15 @@ void restore_cgroup_boost_settings(void)

bool task_sched_boost(struct task_struct *p)
{
	struct schedtune *st = task_schedtune(p);
	struct schedtune *st;
	bool sched_boost_enabled;

	rcu_read_lock();
	st = task_schedtune(p);
	sched_boost_enabled = st->sched_boost_enabled;
	rcu_read_unlock();

	return st->sched_boost_enabled;
	return sched_boost_enabled;
}

static u64
+8 −2
Original line number Diff line number Diff line
@@ -73,10 +73,16 @@ static void acquire_rq_locks_irqsave(const cpumask_t *cpus,
				     unsigned long *flags)
{
	int cpu;
	int level = 0;

	local_irq_save(*flags);
	for_each_cpu(cpu, cpus)
	for_each_cpu(cpu, cpus) {
		if (level == 0)
			raw_spin_lock(&cpu_rq(cpu)->lock);
		else
			raw_spin_lock_nested(&cpu_rq(cpu)->lock, level);
		level++;
	}
}

static void release_rq_locks_irqrestore(const cpumask_t *cpus,