s390/topology: get rid of core mask array

Use a single long value instead of a single element array to represent
the core mask. The array is a leftover from 32/31 bit code so we were
able to use bitops helper functions.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
Heiko Carstens 2017-03-09 10:02:28 +01:00 committed by Martin Schwidefsky
parent 9b62330fa0
commit 251ea0ca40
2 changed files with 4 additions and 3 deletions

View File

@ -142,7 +142,6 @@ struct sysinfo_3_2_2 {
extern int topology_max_mnest; extern int topology_max_mnest;
#define TOPOLOGY_CORE_BITS 64
#define TOPOLOGY_NR_MAG 6 #define TOPOLOGY_NR_MAG 6
struct topology_core { struct topology_core {
@ -152,7 +151,7 @@ struct topology_core {
unsigned char pp:2; unsigned char pp:2;
unsigned char reserved1; unsigned char reserved1;
unsigned short origin; unsigned short origin;
unsigned long mask[TOPOLOGY_CORE_BITS / BITS_PER_LONG]; unsigned long mask;
}; };
struct topology_container { struct topology_container {

View File

@ -83,6 +83,8 @@ static cpumask_t cpu_thread_map(unsigned int cpu)
return mask; return mask;
} }
#define TOPOLOGY_CORE_BITS 64
static void add_cpus_to_mask(struct topology_core *tl_core, static void add_cpus_to_mask(struct topology_core *tl_core,
struct mask_info *drawer, struct mask_info *drawer,
struct mask_info *book, struct mask_info *book,
@ -91,7 +93,7 @@ static void add_cpus_to_mask(struct topology_core *tl_core,
struct cpu_topology_s390 *topo; struct cpu_topology_s390 *topo;
unsigned int core; unsigned int core;
for_each_set_bit(core, &tl_core->mask[0], TOPOLOGY_CORE_BITS) { for_each_set_bit(core, &tl_core->mask, TOPOLOGY_CORE_BITS) {
unsigned int rcore; unsigned int rcore;
int lcpu, i; int lcpu, i;