void cpu_node_probe(void) { int i, highest = 0; gda_t *gdap = GDA; /* * Initialize the arrays to invalid nodeid (-1) */ for (i = 0; i < MAX_COMPACT_NODES; i++) compact_to_nasid_node[i] = INVALID_NASID; for (i = 0; i < MAX_NASIDS; i++) nasid_to_compact_node[i] = INVALID_CNODEID; for (i = 0; i < MAXCPUS; i++) cpuid_to_compact_node[i] = INVALID_CNODEID; numnodes = 0; for (i = 0; i < MAX_COMPACT_NODES; i++) { nasid_t nasid = gdap->g_nasidtable[i]; if (nasid == INVALID_NASID) break; compact_to_nasid_node[i] = nasid; nasid_to_compact_node[nasid] = i; numnodes++; highest = do_cpumask(i, nasid, highest); } printk("Discovered %d cpus on %d nodes\n", highest + 1, numnodes); }
void cpu_node_probe(void) { int i, highest = 0; gda_t *gdap = GDA; /* * Initialize the arrays to invalid nodeid (-1) */ for (i = 0; i < MAX_COMPACT_NODES; i++) compact_to_nasid_node[i] = INVALID_NASID; for (i = 0; i < MAX_NASIDS; i++) nasid_to_compact_node[i] = INVALID_CNODEID; for (i = 0; i < MAXCPUS; i++) cpuid_to_compact_node[i] = INVALID_CNODEID; /* * MCD - this whole "compact node" stuff can probably be dropped, * as we can handle sparse numbering now */ nodes_clear(node_online_map); for (i = 0; i < MAX_COMPACT_NODES; i++) { nasid_t nasid = gdap->g_nasidtable[i]; if (nasid == INVALID_NASID) break; compact_to_nasid_node[i] = nasid; nasid_to_compact_node[nasid] = i; node_set_online(num_online_nodes()); highest = do_cpumask(i, nasid, highest); } printk("Discovered %d cpus on %d nodes\n", highest + 1, num_online_nodes()); }