.. | .. |
---|
16 | 16 | unsigned short socket_id; |
---|
17 | 17 | unsigned short book_id; |
---|
18 | 18 | unsigned short drawer_id; |
---|
19 | | - unsigned short node_id; |
---|
20 | 19 | unsigned short dedicated : 1; |
---|
| 20 | + int booted_cores; |
---|
21 | 21 | cpumask_t thread_mask; |
---|
22 | 22 | cpumask_t core_mask; |
---|
23 | 23 | cpumask_t book_mask; |
---|
.. | .. |
---|
25 | 25 | }; |
---|
26 | 26 | |
---|
27 | 27 | extern struct cpu_topology_s390 cpu_topology[NR_CPUS]; |
---|
28 | | -extern cpumask_t cpus_with_topology; |
---|
29 | 28 | |
---|
30 | 29 | #define topology_physical_package_id(cpu) (cpu_topology[cpu].socket_id) |
---|
31 | 30 | #define topology_thread_id(cpu) (cpu_topology[cpu].thread_id) |
---|
.. | .. |
---|
37 | 36 | #define topology_drawer_id(cpu) (cpu_topology[cpu].drawer_id) |
---|
38 | 37 | #define topology_drawer_cpumask(cpu) (&cpu_topology[cpu].drawer_mask) |
---|
39 | 38 | #define topology_cpu_dedicated(cpu) (cpu_topology[cpu].dedicated) |
---|
| 39 | +#define topology_booted_cores(cpu) (cpu_topology[cpu].booted_cores) |
---|
40 | 40 | |
---|
41 | 41 | #define mc_capable() 1 |
---|
42 | 42 | |
---|
.. | .. |
---|
45 | 45 | int topology_set_cpu_management(int fc); |
---|
46 | 46 | void topology_schedule_update(void); |
---|
47 | 47 | void store_topology(struct sysinfo_15_1_x *info); |
---|
| 48 | +void update_cpu_masks(void); |
---|
48 | 49 | void topology_expect_change(void); |
---|
49 | 50 | const struct cpumask *cpu_coregroup_mask(int cpu); |
---|
50 | 51 | |
---|
.. | .. |
---|
54 | 55 | static inline void topology_schedule_update(void) { } |
---|
55 | 56 | static inline int topology_cpu_init(struct cpu *cpu) { return 0; } |
---|
56 | 57 | static inline int topology_cpu_dedicated(int cpu_nr) { return 0; } |
---|
| 58 | +static inline int topology_booted_cores(int cpu_nr) { return 1; } |
---|
| 59 | +static inline void update_cpu_masks(void) { } |
---|
57 | 60 | static inline void topology_expect_change(void) { } |
---|
58 | 61 | |
---|
59 | 62 | #endif /* CONFIG_SCHED_TOPOLOGY */ |
---|
.. | .. |
---|
71 | 74 | #define cpu_to_node cpu_to_node |
---|
72 | 75 | static inline int cpu_to_node(int cpu) |
---|
73 | 76 | { |
---|
74 | | - return cpu_topology[cpu].node_id; |
---|
| 77 | + return 0; |
---|
75 | 78 | } |
---|
76 | 79 | |
---|
77 | 80 | /* Returns a pointer to the cpumask of CPUs on node 'node'. */ |
---|
78 | 81 | #define cpumask_of_node cpumask_of_node |
---|
79 | 82 | static inline const struct cpumask *cpumask_of_node(int node) |
---|
80 | 83 | { |
---|
81 | | - return &node_to_cpumask_map[node]; |
---|
| 84 | + return cpu_possible_mask; |
---|
82 | 85 | } |
---|
83 | 86 | |
---|
84 | 87 | #define pcibus_to_node(bus) __pcibus_to_node(bus) |
---|
85 | | - |
---|
86 | | -#define node_distance(a, b) __node_distance(a, b) |
---|
87 | 88 | |
---|
88 | 89 | #else /* !CONFIG_NUMA */ |
---|
89 | 90 | |
---|