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

Commit d4314f03 authored by Pavankumar Kondeti's avatar Pavankumar Kondeti
Browse files

sched: compile sched_avg.c only for SMP



The stats exported by sched_avg.c like running average of
runnable tasks and CPU load are used to manage the number
of active CPUs in the system. There is no use case for this
on UP system.

Change-Id: I09c454e742e78813ddcf4ac98858b77970eeaa1f
Signed-off-by: default avatarPavankumar Kondeti <pkondeti@codeaurora.org>
parent 429bfeba
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -177,11 +177,26 @@ extern void get_iowait_load(unsigned long *nr_waiters, unsigned long *load);
extern u64 nr_running_integral(unsigned int cpu);
#endif

#ifdef CONFIG_SMP
extern void sched_update_nr_prod(int cpu, long delta, bool inc);
extern void sched_get_nr_running_avg(int *avg, int *iowait_avg, int *big_avg,
				     unsigned int *max_nr,
				     unsigned int *big_max_nr);
extern unsigned int sched_get_cpu_util(int cpu);
#else
static inline void sched_update_nr_prod(int cpu, long delta, bool inc)
{
}
static inline void sched_get_nr_running_avg(int *avg, int *iowait_avg,
				int *big_avg, unsigned int *max_nr,
				unsigned int *big_max_nr)
{
}
static inline unsigned int sched_get_cpu_util(int cpu)
{
	return 0;
}
#endif

extern void calc_global_load(unsigned long ticks);

+2 −2
Original line number Diff line number Diff line
@@ -17,9 +17,9 @@ endif

obj-y += core.o loadavg.o clock.o cputime.o
obj-y += idle_task.o fair.o rt.o deadline.o stop_task.o
obj-y += wait.o swait.o completion.o idle.o sched_avg.o
obj-y += wait.o swait.o completion.o idle.o
obj-$(CONFIG_SCHED_HMP) += hmp.o boost.o
obj-$(CONFIG_SMP) += cpupri.o cpudeadline.o energy.o
obj-$(CONFIG_SMP) += cpupri.o cpudeadline.o energy.o sched_avg.o
obj-$(CONFIG_SCHED_WALT) += walt.o boost.o
obj-$(CONFIG_SCHED_AUTOGROUP) += auto_group.o
obj-$(CONFIG_SCHEDSTATS) += stats.o
+2 −4
Original line number Diff line number Diff line
@@ -162,16 +162,14 @@ EXPORT_SYMBOL(sched_update_nr_prod);
unsigned int sched_get_cpu_util(int cpu)
{
	struct rq *rq = cpu_rq(cpu);
	u64 util = 0;
	unsigned long capacity = SCHED_CAPACITY_SCALE, flags;
	u64 util;
	unsigned long capacity, flags;
	unsigned int busy;

	raw_spin_lock_irqsave(&rq->lock, flags);

#ifdef CONFIG_SMP
	util = rq->cfs.avg.util_avg;
	capacity = capacity_orig_of(cpu);
#endif

#ifdef CONFIG_SCHED_WALT
	if (!walt_disabled && sysctl_sched_use_walt_cpu_util) {