| .. | .. |
|---|
| 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 | |
|---|