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

Commit e5eb12ac authored by Dietmar Eggemann's avatar Dietmar Eggemann Committed by Andres Oportus
Browse files

ANDROID: Revert "WIP: sched: Consider spare cpu capacity at task wake-up"



This reverts commit 75a9695b619741019363f889c99c97c7bb823797.

Change-Id: I846b21f2bdeb0b0ca30ad65683564ed07a429428
Signed-off-by: default avatarDietmar Eggemann <dietmar.eggemann@arm.com>
[ minor merge changes ]
Signed-off-by: default avatarChris Redpath <chris.redpath@arm.com>
Signed-off-by: default avatarQuentin Perret <quentin.perret@arm.com>
parent 8c29c1a3
Loading
Loading
Loading
Loading
+2 −16
Original line number Diff line number Diff line
@@ -5862,10 +5862,9 @@ find_idlest_group(struct sched_domain *sd, struct task_struct *p,
		  int this_cpu, int sd_flag)
{
	struct sched_group *idlest = NULL, *group = sd->groups;
	struct sched_group *fit_group = NULL, *spare_group = NULL;
	struct sched_group *fit_group = NULL;
	unsigned long min_load = ULONG_MAX, this_load = 0;
	unsigned long fit_capacity = ULONG_MAX;
	unsigned long max_spare_capacity = capacity_margin - SCHED_CAPACITY_SCALE;
	int load_idx = sd->forkexec_idx;
	int imbalance = 100 + (sd->imbalance_pct-100)/2;

@@ -5873,7 +5872,7 @@ find_idlest_group(struct sched_domain *sd, struct task_struct *p,
		load_idx = sd->wake_idx;

	do {
		unsigned long load, avg_load, spare_capacity;
		unsigned long load, avg_load;
		int local_group;
		int i;

@@ -5905,16 +5904,6 @@ find_idlest_group(struct sched_domain *sd, struct task_struct *p,
				fit_capacity = capacity_of(i);
				fit_group = group;
			}

			/*
			 * Look for group which has most spare capacity on a
			 * single cpu.
			 */
			spare_capacity = capacity_of(i) - cpu_util(i);
			if (spare_capacity > max_spare_capacity) {
				max_spare_capacity = spare_capacity;
				spare_group = group;
			}
		}

		/* Adjust by relative CPU capacity of the group */
@@ -5931,9 +5920,6 @@ find_idlest_group(struct sched_domain *sd, struct task_struct *p,
	if (fit_group)
		return fit_group;

	if (spare_group)
		return spare_group;

	if (!idlest || 100*this_load < imbalance*min_load)
		return NULL;
	return idlest;