forked from mirrors/linux
		
	thermal/cpu-cooling, sched/core: Move the arch_set_thermal_pressure() API to generic scheduler code
drivers/base/arch_topology.c is only built if CONFIG_GENERIC_ARCH_TOPOLOGY=y, resulting in such build failures: cpufreq_cooling.c:(.text+0x1e7): undefined reference to `arch_set_thermal_pressure' Move it to sched/core.c instead, and keep it enabled on x86 despite us not having a arch_scale_thermal_pressure() facility there, to build-test this thing. Cc: Thara Gopinath <thara.gopinath@linaro.org> Cc: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
		
							parent
							
								
									d94a9df490
								
							
						
					
					
						commit
						14533a16c4
					
				
					 2 changed files with 11 additions and 11 deletions
				
			
		|  | @ -42,17 +42,6 @@ void topology_set_cpu_scale(unsigned int cpu, unsigned long capacity) | ||||||
| 	per_cpu(cpu_scale, cpu) = capacity; | 	per_cpu(cpu_scale, cpu) = capacity; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| DEFINE_PER_CPU(unsigned long, thermal_pressure); |  | ||||||
| 
 |  | ||||||
| void arch_set_thermal_pressure(struct cpumask *cpus, |  | ||||||
| 			       unsigned long th_pressure) |  | ||||||
| { |  | ||||||
| 	int cpu; |  | ||||||
| 
 |  | ||||||
| 	for_each_cpu(cpu, cpus) |  | ||||||
| 		WRITE_ONCE(per_cpu(thermal_pressure, cpu), th_pressure); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static ssize_t cpu_capacity_show(struct device *dev, | static ssize_t cpu_capacity_show(struct device *dev, | ||||||
| 				 struct device_attribute *attr, | 				 struct device_attribute *attr, | ||||||
| 				 char *buf) | 				 char *buf) | ||||||
|  |  | ||||||
|  | @ -3576,6 +3576,17 @@ unsigned long long task_sched_runtime(struct task_struct *p) | ||||||
| 	return ns; | 	return ns; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | DEFINE_PER_CPU(unsigned long, thermal_pressure); | ||||||
|  | 
 | ||||||
|  | void arch_set_thermal_pressure(struct cpumask *cpus, | ||||||
|  | 			       unsigned long th_pressure) | ||||||
|  | { | ||||||
|  | 	int cpu; | ||||||
|  | 
 | ||||||
|  | 	for_each_cpu(cpu, cpus) | ||||||
|  | 		WRITE_ONCE(per_cpu(thermal_pressure, cpu), th_pressure); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| /*
 | /*
 | ||||||
|  * This function gets called by the timer code, with HZ frequency. |  * This function gets called by the timer code, with HZ frequency. | ||||||
|  * We call it with interrupts disabled. |  * We call it with interrupts disabled. | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Ingo Molnar
						Ingo Molnar