Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
alpha
include
asm
topology.h
Go to the documentation of this file.
1
#ifndef _ASM_ALPHA_TOPOLOGY_H
2
#define _ASM_ALPHA_TOPOLOGY_H
3
4
#include <
linux/smp.h
>
5
#include <
linux/threads.h
>
6
#include <asm/machvec.h>
7
8
#ifdef CONFIG_NUMA
9
static
inline
int
cpu_to_node
(
int
cpu
)
10
{
11
int
node
;
12
13
if
(!alpha_mv.cpuid_to_nid)
14
return
0;
15
16
node = alpha_mv.cpuid_to_nid(cpu);
17
18
#ifdef DEBUG_NUMA
19
BUG_ON
(node < 0);
20
#endif
21
22
return
node
;
23
}
24
25
extern
struct
cpumask
node_to_cpumask_map
[];
26
/* FIXME: This is dumb, recalculating every time. But simple. */
27
static
const
struct
cpumask
*
cpumask_of_node
(
int
node)
28
{
29
int
cpu
;
30
31
if
(node == -1)
32
return
cpu_all_mask
;
33
34
cpumask_clear(&
node_to_cpumask_map
[node]);
35
36
for_each_online_cpu
(cpu) {
37
if
(
cpu_to_node
(cpu) == node)
38
cpumask_set_cpu(cpu,
node_to_cpumask_map
[node]);
39
}
40
41
return
&
node_to_cpumask_map
[
node
];
42
}
43
44
#define cpumask_of_pcibus(bus) (cpu_online_mask)
45
46
#endif
/* !CONFIG_NUMA */
47
# include <
asm-generic/topology.h
>
48
49
#endif
/* _ASM_ALPHA_TOPOLOGY_H */
Generated on Thu Jan 10 2013 12:50:42 for Linux Kernel by
1.8.2