History

sched: add arch_update_cpu_topology hook.

Will be called each time the scheduling domains are rebuild. Needed for architectures that don't have a static cpu topology.

Heiko Carstens committed 18 years ago

Commit 22e52b01 parent 9aefd0a2 files · +7 −0Browse files

Unified · Split

2 files
  1. include/linux/topology.h +2 −0
  2. kernel/sched.c +5 −0
include/linux/topology.h+2−0
@@ -50,6 +50,8 @@ · 49 unmodified lines
50 for_each_online_node(node) \50 for_each_online_node(node) \
51 if (nr_cpus_node(node))51 if (nr_cpus_node(node))
52 52
53void arch_update_cpu_topology(void);
54
53/* Conform to ACPI 2.0 SLIT distance definitions */55/* Conform to ACPI 2.0 SLIT distance definitions */
54#define LOCAL_DISTANCE 1056#define LOCAL_DISTANCE 10
55#define REMOTE_DISTANCE 2057#define REMOTE_DISTANCE 20
kernel/sched.c+5−0
@@ -6807,6 +6807,10 @@ static int ndoms_cur; /* number of sched domains in 'doms_cur' */ · 6806 unmodified lines
6807 */6807 */
6808static cpumask_t fallback_doms;6808static cpumask_t fallback_doms;
6809 6809
6810void __attribute__((weak)) arch_update_cpu_topology(void)
6811{
6812}
6813
6810/*6814/*
6811 * Set up scheduler domains and groups. Callers must hold the hotplug lock.6815 * Set up scheduler domains and groups. Callers must hold the hotplug lock.
6812 * For now this just excludes isolated cpus, but could be used to6816 * For now this just excludes isolated cpus, but could be used to
@@ -6816,6 +6820,7 @@ static int arch_init_sched_domains(const cpumask_t *cpu_map) · 3 unmodified lines
6816{6820{
6817 int err;6821 int err;
6818 6822
6823 arch_update_cpu_topology();
6819 ndoms_cur = 1;6824 ndoms_cur = 1;
6820 doms_cur = kmalloc(sizeof(cpumask_t), GFP_KERNEL);6825 doms_cur = kmalloc(sizeof(cpumask_t), GFP_KERNEL);
6821 if (!doms_cur)6826 if (!doms_cur)