Merge "sched/walt: don't panic for accounting issues"

This commit is contained in:
qctecmdr authored and Gerrit - the friendly Code Review server committed 2023-04-12 08:50:14 -07:00
commit 27f28bc328
1 file changed
+24 -4
+24 -4
View File
@@ -104,14 +104,34 @@ fixup_cumulative_runnable_avg(struct walt_sched_stats *stats,
s64 demand_scaled_delta,
s64 pred_demand_scaled_delta)
{
s64 cumulative_runnable_avg_scaled;
s64 pred_demands_sum_scaled;
if (sched_disable_window_stats)
return;
stats->cumulative_runnable_avg_scaled += demand_scaled_delta;
BUG_ON((s64)stats->cumulative_runnable_avg_scaled < 0);
cumulative_runnable_avg_scaled =
(s64)stats->cumulative_runnable_avg_scaled +
demand_scaled_delta;
pred_demands_sum_scaled =
(s64)stats->pred_demands_sum_scaled + pred_demand_scaled_delta;
stats->pred_demands_sum_scaled += pred_demand_scaled_delta;
BUG_ON((s64)stats->pred_demands_sum_scaled < 0);
if (cumulative_runnable_avg_scaled < 0) {
printk_deferred("WALT-BUG demand_scaled_delta=%lld cumulative_runnable_avg_scaled=%llu\n",
demand_scaled_delta,
stats->cumulative_runnable_avg_scaled);
cumulative_runnable_avg_scaled = 0;
}
stats->cumulative_runnable_avg_scaled =
(u64)cumulative_runnable_avg_scaled;
if (pred_demands_sum_scaled < 0) {
printk_deferred("WALT-BUG task pred_demand_scaled_delta=%lld pred_demands_sum_scaled=%llu\n",
pred_demand_scaled_delta,
stats->pred_demands_sum_scaled);
pred_demands_sum_scaled = 0;
}
stats->pred_demands_sum_scaled = (u64)pred_demands_sum_scaled;
}
static inline void