sched/topology: Split out scheduler topology code from core.c into topology.c
Cc: Mike Galbraith <efault@gmx.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-kernel@vger.kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
parent
004172bdad
commit
f2cb13609d
|
@ -18,7 +18,7 @@ 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
|
||||
obj-$(CONFIG_SMP) += cpupri.o cpudeadline.o
|
||||
obj-$(CONFIG_SMP) += cpupri.o cpudeadline.o topology.o
|
||||
obj-$(CONFIG_SCHED_AUTOGROUP) += auto_group.o
|
||||
obj-$(CONFIG_SCHEDSTATS) += stats.o
|
||||
obj-$(CONFIG_SCHED_DEBUG) += debug.o
|
||||
|
|
1659
kernel/sched/core.c
1659
kernel/sched/core.c
File diff suppressed because it is too large
Load Diff
|
@ -223,7 +223,7 @@ bool __dl_overflow(struct dl_bw *dl_b, int cpus, u64 old_bw, u64 new_bw)
|
|||
dl_b->bw * cpus < dl_b->total_bw - old_bw + new_bw;
|
||||
}
|
||||
|
||||
extern struct mutex sched_domains_mutex;
|
||||
extern void init_dl_bw(struct dl_bw *dl_b);
|
||||
|
||||
#ifdef CONFIG_CGROUP_SCHED
|
||||
|
||||
|
@ -584,6 +584,13 @@ struct root_domain {
|
|||
};
|
||||
|
||||
extern struct root_domain def_root_domain;
|
||||
extern struct mutex sched_domains_mutex;
|
||||
extern cpumask_var_t fallback_doms;
|
||||
extern cpumask_var_t sched_domains_tmpmask;
|
||||
|
||||
extern void init_defrootdomain(void);
|
||||
extern int init_sched_domains(const struct cpumask *cpu_map);
|
||||
extern void rq_attach_root(struct rq *rq, struct root_domain *rd);
|
||||
|
||||
#endif /* CONFIG_SMP */
|
||||
|
||||
|
@ -886,6 +893,16 @@ extern int sched_max_numa_distance;
|
|||
extern bool find_numa_distance(int distance);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_NUMA
|
||||
extern void sched_init_numa(void);
|
||||
extern void sched_domains_numa_masks_set(unsigned int cpu);
|
||||
extern void sched_domains_numa_masks_clear(unsigned int cpu);
|
||||
#else
|
||||
static inline void sched_init_numa(void) { }
|
||||
static inline void sched_domains_numa_masks_set(unsigned int cpu) { }
|
||||
static inline void sched_domains_numa_masks_clear(unsigned int cpu) { }
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_NUMA_BALANCING
|
||||
/* The regions in numa_faults array from task_struct */
|
||||
enum numa_faults_stats {
|
||||
|
@ -1752,6 +1769,10 @@ static inline void double_rq_unlock(struct rq *rq1, struct rq *rq2)
|
|||
__release(rq2->lock);
|
||||
}
|
||||
|
||||
extern void set_rq_online (struct rq *rq);
|
||||
extern void set_rq_offline(struct rq *rq);
|
||||
extern bool sched_smp_initialized;
|
||||
|
||||
#else /* CONFIG_SMP */
|
||||
|
||||
/*
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue