[PATCH] scheduler cache-hot-autodetect
[linux-2.6.git] / include / asm-mips / mach-ip27 / topology.h
1 #ifndef _ASM_MACH_TOPOLOGY_H
2 #define _ASM_MACH_TOPOLOGY_H    1
3
4 #include <asm/sn/arch.h>
5 #include <asm/sn/hub.h>
6 #include <asm/mmzone.h>
7
8 #define cpu_to_node(cpu)        (cpu_data[(cpu)].p_nodeid)
9 #define parent_node(node)       (node)
10 #define node_to_cpumask(node)   (hub_data(node)->h_cpus)
11 #define node_to_first_cpu(node) (first_cpu(node_to_cpumask(node)))
12 struct pci_bus;
13 extern int pcibus_to_node(struct pci_bus *);
14
15 #define pcibus_to_cpumask(bus)  (cpu_online_map)
16
17 extern unsigned char __node_distances[MAX_COMPACT_NODES][MAX_COMPACT_NODES];
18
19 #define node_distance(from, to) (__node_distances[(from)][(to)])
20
21 /* sched_domains SD_NODE_INIT for SGI IP27 machines */
22 #define SD_NODE_INIT (struct sched_domain) {            \
23         .span                   = CPU_MASK_NONE,        \
24         .parent                 = NULL,                 \
25         .groups                 = NULL,                 \
26         .min_interval           = 8,                    \
27         .max_interval           = 32,                   \
28         .busy_factor            = 32,                   \
29         .imbalance_pct          = 125,                  \
30         .cache_nice_tries       = 1,                    \
31         .per_cpu_gain           = 100,                  \
32         .flags                  = SD_LOAD_BALANCE       \
33                                 | SD_BALANCE_EXEC       \
34                                 | SD_WAKE_BALANCE,      \
35         .last_balance           = jiffies,              \
36         .balance_interval       = 1,                    \
37         .nr_balance_failed      = 0,                    \
38 }
39
40 #endif /* _ASM_MACH_TOPOLOGY_H */