2008-07-17 21:55:51 -07:00
# ifndef _ASM_SPARC64_TOPOLOGY_H
# define _ASM_SPARC64_TOPOLOGY_H
# ifdef CONFIG_NUMA
# include <asm/mmzone.h>
static inline int cpu_to_node ( int cpu )
{
return numa_cpu_lookup_table [ cpu ] ;
}
# define parent_node(node) (node)
static inline cpumask_t node_to_cpumask ( int node )
{
return numa_cpumask_lookup_table [ node ] ;
}
2008-12-26 22:23:38 +10:30
# define cpumask_of_node(node) (&numa_cpumask_lookup_table[node])
2008-07-17 21:55:51 -07:00
2008-12-26 22:23:38 +10:30
/*
* Returns a pointer to the cpumask of CPUs on Node ' node ' .
* Deprecated : use " const struct cpumask *mask = cpumask_of_node(node) "
*/
2008-07-17 21:55:51 -07:00
# define node_to_cpumask_ptr(v, node) \
cpumask_t * v = & ( numa_cpumask_lookup_table [ node ] )
# define node_to_cpumask_ptr_next(v, node) \
v = & ( numa_cpumask_lookup_table [ node ] )
struct pci_bus ;
# ifdef CONFIG_PCI
extern int pcibus_to_node ( struct pci_bus * pbus ) ;
# else
static inline int pcibus_to_node ( struct pci_bus * pbus )
{
return - 1 ;
}
# endif
2009-01-11 04:06:40 -08:00
# define cpumask_of_pcibus(bus) \
( pcibus_to_node ( bus ) = = - 1 ? \
2009-03-16 14:40:38 +10:30
cpu_all_mask : \
2009-01-11 04:06:40 -08:00
cpumask_of_node ( pcibus_to_node ( bus ) ) )
2008-07-17 21:55:51 -07:00
# define SD_NODE_INIT (struct sched_domain) { \
. min_interval = 8 , \
. max_interval = 32 , \
. busy_factor = 32 , \
. imbalance_pct = 125 , \
. cache_nice_tries = 2 , \
. busy_idx = 3 , \
. idle_idx = 2 , \
. newidle_idx = 0 , \
. wake_idx = 1 , \
. forkexec_idx = 1 , \
. flags = SD_LOAD_BALANCE \
| SD_BALANCE_FORK \
| SD_BALANCE_EXEC \
| SD_SERIALIZE \
| SD_WAKE_BALANCE , \
. last_balance = jiffies , \
. balance_interval = 1 , \
}
# else /* CONFIG_NUMA */
# include <asm-generic/topology.h>
# endif /* !(CONFIG_NUMA) */
# ifdef CONFIG_SMP
# define topology_physical_package_id(cpu) (cpu_data(cpu).proc_id)
# define topology_core_id(cpu) (cpu_data(cpu).core_id)
# define topology_core_siblings(cpu) (cpu_core_map[cpu])
# define topology_thread_siblings(cpu) (per_cpu(cpu_sibling_map, cpu))
2009-01-01 10:12:20 +10:30
# define topology_core_cpumask(cpu) (&cpu_core_map[cpu])
# define topology_thread_cpumask(cpu) (&per_cpu(cpu_sibling_map, cpu))
2008-07-17 21:55:51 -07:00
# define mc_capable() (sparc64_multi_core)
# define smt_capable() (sparc64_multi_core)
# endif /* CONFIG_SMP */
2008-12-26 22:23:42 +10:30
# define cpu_coregroup_mask(cpu) (&cpu_core_map[cpu])
2008-07-17 21:55:51 -07:00
# endif /* _ASM_SPARC64_TOPOLOGY_H */