Update Linux kernel release to v7.2.8-2 for base and BORE kernels
Signed-off-by: Krzysztof Wilczyński <kwilczynski@omarchy.org>
This commit is contained in:
524 files changed
+147294
-88760
No files matched your search
@@ -14,22 +14,22 @@ diff --git a/include/linux/sched/sd_flags.h b/include/linux/sched/sd_flags.h
|
||||
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
|
||||
--- a/kernel/sched/fair.c
|
||||
+++ b/kernel/sched/fair.c
|
||||
@@ -11902,10 +11902,25 @@ static inline void update_sg_lb_stats(struct lb_env *env,
|
||||
@@ -11912,12 +11912,25 @@ static inline void update_sg_lb_stats(struct lb_env *env,
|
||||
continue;
|
||||
|
||||
if (sd_flags & SD_ASYM_CPUCAPACITY) {
|
||||
- /* Check for a misfit task on the cpu */
|
||||
- if (sgs->group_misfit_task_load < rq->misfit_task_load) {
|
||||
- sgs->group_misfit_task_load = rq->misfit_task_load;
|
||||
- *sg_overloaded = 1;
|
||||
-
|
||||
+ if (rq->misfit_task_load) {
|
||||
+ /*
|
||||
+ * Always mark the root domain overloaded so big
|
||||
+ * CPUs can pick up misfit tasks via newly idle
|
||||
+ * balance.
|
||||
+ */
|
||||
+ if (balancing_at_rd)
|
||||
+ *sg_overloaded = 1;
|
||||
if (balancing_at_rd)
|
||||
*sg_overloaded = 1;
|
||||
+
|
||||
+ /*
|
||||
+ * Only account misfit load if @dst_cpu can
|
||||
@@ -44,43 +44,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
|
||||
}
|
||||
} else if (env->idle && sched_reduced_capacity(rq, env->sd)) {
|
||||
/* Check for a task running on a CPU with reduced capacity */
|
||||
@@ -11984,6 +11999,17 @@ static bool update_sd_pick_busiest(struct lb_env *env,
|
||||
sds->local_stat.group_type != group_has_spare))
|
||||
return false;
|
||||
|
||||
+ /*
|
||||
+ * Candidate sg has no more than one task per CPU and has higher
|
||||
+ * per-CPU capacity. Migrating tasks to less capable CPUs may harm
|
||||
+ * throughput. Maximize throughput, power/energy consequences are not
|
||||
+ * considered.
|
||||
+ */
|
||||
+ if ((env->sd->flags & SD_ASYM_CPUCAPACITY) &&
|
||||
+ (sgs->group_type <= group_fully_busy) &&
|
||||
+ (capacity_greater(sg->sgc->min_capacity, capacity_of(env->dst_cpu))))
|
||||
+ return false;
|
||||
+
|
||||
if (sgs->group_type > busiest->group_type)
|
||||
return true;
|
||||
|
||||
@@ -12090,17 +12116,6 @@ static bool update_sd_pick_busiest(struct lb_env *env,
|
||||
break;
|
||||
}
|
||||
|
||||
- /*
|
||||
- * Candidate sg has no more than one task per CPU and has higher
|
||||
- * per-CPU capacity. Migrating tasks to less capable CPUs may harm
|
||||
- * throughput. Maximize throughput, power/energy consequences are not
|
||||
- * considered.
|
||||
- */
|
||||
- if ((env->sd->flags & SD_ASYM_CPUCAPACITY) &&
|
||||
- (sgs->group_type <= group_fully_busy) &&
|
||||
- (capacity_greater(sg->sgc->min_capacity, capacity_of(env->dst_cpu))))
|
||||
- return false;
|
||||
-
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -13018,9 +13033,24 @@ static struct rq *sched_balance_find_src_rq(struct lb_env *env,
|
||||
@@ -13030,9 +13043,24 @@ static struct rq *sched_balance_find_src_rq(struct lb_env *env,
|
||||
* average load.
|
||||
*/
|
||||
if (env->sd->flags & SD_ASYM_CPUCAPACITY &&
|
||||
|
||||
Reference in new issue
Block a user