X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-i386%2Ftopology.h;h=98f9e6850cbab49db2540bff7845dcac0a3fd5e4;hb=f7f1b0f1e2fbadeab12d24236000e778aa9b1ead;hp=582cd32a70cf6d1e6fd607b6afe30f61fe3fa2f7;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/include/asm-i386/topology.h b/include/asm-i386/topology.h index 582cd32a7..98f9e6850 100644 --- a/include/asm-i386/topology.h +++ b/include/asm-i386/topology.h @@ -60,17 +60,40 @@ static inline int node_to_first_cpu(int node) return first_cpu(mask); } -/* Returns the number of the node containing PCI bus 'bus' */ -static inline cpumask_t pcibus_to_cpumask(int bus) +/* Returns the number of the node containing PCI bus number 'busnr' */ +static inline cpumask_t __pcibus_to_cpumask(int busnr) { - return node_to_cpumask(mp_bus_id_to_node[bus]); + return node_to_cpumask(mp_bus_id_to_node[busnr]); } +#define pcibus_to_cpumask(bus) __pcibus_to_cpumask(bus->number) -/* Node-to-Node distance */ -#define node_distance(from, to) (from != to) +/* sched_domains SD_NODE_INIT for NUMAQ machines */ +#define SD_NODE_INIT (struct sched_domain) { \ + .span = CPU_MASK_NONE, \ + .parent = NULL, \ + .groups = NULL, \ + .min_interval = 8, \ + .max_interval = 32, \ + .busy_factor = 32, \ + .imbalance_pct = 125, \ + .cache_hot_time = (10*1000000), \ + .cache_nice_tries = 1, \ + .per_cpu_gain = 100, \ + .flags = SD_LOAD_BALANCE \ + | SD_BALANCE_EXEC \ + | SD_BALANCE_NEWIDLE \ + | SD_WAKE_IDLE \ + | SD_WAKE_BALANCE, \ + .last_balance = jiffies, \ + .balance_interval = 1, \ + .nr_balance_failed = 0, \ +} + +extern unsigned long node_start_pfn[]; +extern unsigned long node_end_pfn[]; +extern unsigned long node_remap_size[]; -/* Cross-node load balancing interval. */ -#define NODE_BALANCE_RATE 100 +#define node_has_online_mem(nid) (node_start_pfn[nid] != node_end_pfn[nid]) #else /* !CONFIG_NUMA */ /*