Merge "sched: fixes sched_boost_disable"

This commit is contained in:
qctecmdr authored and Gerrit - the friendly Code Review server committed 2023-01-03 01:59:36 -08:00
commit bba14e940d
2 files changed
+7 -7

No files matched your search

+5 -4
View File
@@ -146,7 +146,7 @@ static int sched_effective_boost(void)
static void sched_boost_disable(int type)
{
struct sched_boost_data *sb = &sched_boosts[type];
int next_boost;
int next_boost, prev_boost = sched_boost_type;
if (sb->refcount <= 0)
return;
@@ -156,14 +156,15 @@ static void sched_boost_disable(int type)
if (sb->refcount)
return;
next_boost = sched_effective_boost();
if (next_boost == prev_boost)
return;
/*
* This boost's refcount becomes zero, so it must
* be disabled. Disable it first and then apply
* the next boost.
*/
sb->exit();
next_boost = sched_effective_boost();
sched_boosts[prev_boost].exit();
sched_boosts[next_boost].enter();
}
+2 -3
View File
@@ -883,10 +883,9 @@ int core_ctl_set_boost(bool boost)
if (!cluster->boost) {
ret = -EINVAL;
break;
} else {
--cluster->boost;
boost_state_changed = !cluster->boost;
}
--cluster->boost;
boost_state_changed = !cluster->boost;
}
}
spin_unlock_irqrestore(&state_lock, flags);