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

Commit 93b3f0f6 authored by Pavankumar Kondeti's avatar Pavankumar Kondeti
Browse files

Merge remote-tracking branch 'dev/msm-4.9-sched' into msm-4.9



* origin/dev/msm-4.9-sched:
  ARM: dts: msm: Update silver CPUs's idle cost data for SDM845v2
  sched/fair: prevent possible infinite loop in sched_group_energy
  sched: Update WALT stats also in boosted_cpu_util()
  sched/fair: Add provision to control the spreading on SMP
  sched/fair: Add EAS_USE_NEED_IDLE feature
  sched/fair: Turn off FBT_STRICT_ORDER feature
  sched/fair: fix incorrect CPU selection for non latency sensitive tasks
  sched: Add task placement snapshot
  sched/fair: select the most energy-efficient CPU candidate on wake-up
  sched/fair: fix array out of bounds access in select_energy_cpu_idx()
  sched/fair: use min capacity when evaluating active cpus
  sched/fair: use min capacity when evaluating idle backup cpus
  sched/fair: use min capacity when evaluating placement energy costs
  sched/fair: introduce minimum capacity capping sched feature
  arm/topology: link arch_scale_min_freq_capacity to cpufreq
  arm64/topology: link arch_scale_min_freq_capacity to cpufreq
  sched: add arch_scale_min_freq_capacity to track minimum capacity caps
  cpufreq: add scaled minimum capacity tracking for policy changes
  arm64: enable max frequency capping
  arm: enable max frequency capping
  cpufreq: implement max frequency capping
  sched/fair: introduce an arch scaling function for max frequency capping
  cpufreq: remove max frequency capping from scale_freq_capacity()
  Revert "ANDROID: cpufreq: Max freq invariant scheduler load-tracking and cpu capacity support"
  Revert "ANDROID: arm: Enable max freq invariant scheduler load-tracking and capacity support"
  Revert "ANDROID: arm64: Enable max freq invariant scheduler load-tracking and capacity support"
  sched/fair: reduce rounding errors in energy computations
  sched/fair: re-factor energy_diff to use a single (extensible) energy_env
  sched/fair: cleanup select_energy_cpu_brute to be more consistent
  sched/fair: remove capacity tracking from energy_diff
  sched/fair: remove energy_diff tracepoint in preparation to re-factoring
  sched/fair: use *p to reference task_structs
  sched: EAS: Fix the calculation of group util in group_idle_state()
  cpufreq: Drop schedfreq governor
  sched: Sync EAS codebase to android-4.9
  sched: Move core_ctl callback from tick to WALT IRQ work
  sched: fair: Always use energy aware wakeups
  sched: Introduce new workload differentiation
  sched: Introduce a different version of freq aggregation
  sched: report group load to the cpufreq
  sched: Start reporting top task load to cpufreq
  sched: Introduce scheduler boost related placement changes
  sched: Port boost setting mechanisms to EAS
  sched: integrate core_ctl with EAS
  sched: EAS: add infrastructure for core_ctl
  sched: EAS: add core isolation support
  sched: Introduce an irq_work to report WALT load
  sched: introduce small wakee task on waker
  sched: fair: Ignore energy-diff calculations for colocated tasks
  sched: change default group upmigrate and downmigrate values
  sched: EAS: colocate related threads
  sched: cpufreq: Use per_cpu_ptr instead of this_cpu_ptr when reporting load
  sched: cpufreq: Use sched_clock instead of rq_clock when updating schedutil
  sched: cpufreq: Update cpufreq once in a WALT window
  ARM: dts: msm: Add an energy model for the SDM845 CPUs

Conflicts:
	kernel/sched/fair.c

Change-Id: Ieaeecb28e57955db3b13d6d9c1d81b204caf0fcf
Signed-off-by: default avatarPavankumar Kondeti <pkondeti@codeaurora.org>
parents ccf21f85 8ac7d496
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -28,6 +28,8 @@ unsigned long arch_get_cpu_efficiency(int cpu);

#ifdef CONFIG_CPU_FREQ
#define arch_scale_freq_capacity cpufreq_scale_freq_capacity
#define arch_scale_max_freq_capacity cpufreq_scale_max_freq_capacity
#define arch_scale_min_freq_capacity cpufreq_scale_min_freq_capacity
#endif
#define arch_scale_cpu_capacity scale_cpu_capacity
extern unsigned long scale_cpu_capacity(struct sched_domain *sd, int cpu);
+0 −6
Original line number Diff line number Diff line
@@ -55,13 +55,7 @@ static void set_power_scale(unsigned int cpu, unsigned long power)

unsigned long scale_cpu_capacity(struct sched_domain *sd, int cpu)
{
#ifdef CONFIG_CPU_FREQ
	unsigned long max_freq_scale = cpufreq_scale_max_freq_capacity(cpu);

	return per_cpu(cpu_scale, cpu) * max_freq_scale >> SCHED_CAPACITY_SHIFT;
#else
	return per_cpu(cpu_scale, cpu);
#endif
}

static void set_capacity_scale(unsigned int cpu, unsigned long capacity)
+1 −1
Original line number Diff line number Diff line
@@ -430,7 +430,7 @@
			1766400 160
		>;
		idle-cost-data = <
			22 18 14 12
			10 8 6 4
		>;
	};
	CPU_COST_1: core-cost1 {
+4 −1
Original line number Diff line number Diff line
@@ -36,7 +36,10 @@ struct sched_domain;
#ifdef CONFIG_CPU_FREQ
#define arch_scale_freq_capacity cpufreq_scale_freq_capacity
extern unsigned long cpufreq_scale_freq_capacity(struct sched_domain *sd, int cpu);
extern unsigned long cpufreq_scale_max_freq_capacity(int cpu);
#define arch_scale_max_freq_capacity cpufreq_scale_max_freq_capacity
extern unsigned long cpufreq_scale_max_freq_capacity(struct sched_domain *sd, int cpu);
#define arch_scale_min_freq_capacity cpufreq_scale_min_freq_capacity
extern unsigned long cpufreq_scale_min_freq_capacity(struct sched_domain *sd, int cpu);
#endif
#define arch_scale_cpu_capacity scale_cpu_capacity
extern unsigned long scale_cpu_capacity(struct sched_domain *sd, int cpu);
+0 −6
Original line number Diff line number Diff line
@@ -50,13 +50,7 @@ static void set_power_scale(unsigned int cpu, unsigned long power)

unsigned long scale_cpu_capacity(struct sched_domain *sd, int cpu)
{
#ifdef CONFIG_CPU_FREQ
	unsigned long max_freq_scale = cpufreq_scale_max_freq_capacity(cpu);

	return per_cpu(cpu_scale, cpu) * max_freq_scale >> SCHED_CAPACITY_SHIFT;
#else
	return per_cpu(cpu_scale, cpu);
#endif
}

static void set_capacity_scale(unsigned int cpu, unsigned long capacity)
Loading