Lines Matching refs:cpu
139 unsigned int cpu; in reset_numa_cpu_lookup_table() local
141 for_each_possible_cpu(cpu) in reset_numa_cpu_lookup_table()
142 numa_cpu_lookup_table[cpu] = -1; in reset_numa_cpu_lookup_table()
145 static void update_numa_cpu_lookup_table(unsigned int cpu, int node) in update_numa_cpu_lookup_table() argument
147 numa_cpu_lookup_table[cpu] = node; in update_numa_cpu_lookup_table()
150 static void map_cpu_to_node(int cpu, int node) in map_cpu_to_node() argument
152 update_numa_cpu_lookup_table(cpu, node); in map_cpu_to_node()
154 dbg("adding cpu %d to node %d\n", cpu, node); in map_cpu_to_node()
156 if (!(cpumask_test_cpu(cpu, node_to_cpumask_map[node]))) in map_cpu_to_node()
157 cpumask_set_cpu(cpu, node_to_cpumask_map[node]); in map_cpu_to_node()
161 static void unmap_cpu_from_node(unsigned long cpu) in unmap_cpu_from_node() argument
163 int node = numa_cpu_lookup_table[cpu]; in unmap_cpu_from_node()
165 dbg("removing cpu %lu from node %d\n", cpu, node); in unmap_cpu_from_node()
167 if (cpumask_test_cpu(cpu, node_to_cpumask_map[node])) { in unmap_cpu_from_node()
168 cpumask_clear_cpu(cpu, node_to_cpumask_map[node]); in unmap_cpu_from_node()
171 cpu, node); in unmap_cpu_from_node()
529 struct device_node *cpu; in numa_setup_cpu() local
541 cpu = of_get_cpu_node(lcpu, NULL); in numa_setup_cpu()
543 if (!cpu) { in numa_setup_cpu()
551 nid = of_node_to_nid_single(cpu); in numa_setup_cpu()
558 of_node_put(cpu); in numa_setup_cpu()
563 static void verify_cpu_node_mapping(int cpu, int node) in verify_cpu_node_mapping() argument
568 base = cpu_first_thread_sibling(cpu); in verify_cpu_node_mapping()
573 if (sibling == cpu || cpu_is_offline(sibling)) in verify_cpu_node_mapping()
578 " to the same node!\n", cpu, sibling); in verify_cpu_node_mapping()
743 struct device_node *cpu; in parse_numa_properties() local
746 cpu = of_get_cpu_node(i, NULL); in parse_numa_properties()
747 BUG_ON(!cpu); in parse_numa_properties()
748 nid = of_node_to_nid_single(cpu); in parse_numa_properties()
749 of_node_put(cpu); in parse_numa_properties()
850 unsigned int cpu, count; in dump_numa_cpu_topology() local
863 for (cpu = 0; cpu < nr_cpu_ids; cpu++) { in dump_numa_cpu_topology()
864 if (cpumask_test_cpu(cpu, in dump_numa_cpu_topology()
867 printk(" %u", cpu); in dump_numa_cpu_topology()
871 printk("-%u", cpu - 1); in dump_numa_cpu_topology()
956 int nid, cpu; in initmem_init() local
994 for_each_present_cpu(cpu) { in initmem_init()
995 numa_setup_cpu((unsigned long)cpu); in initmem_init()
1199 unsigned int cpu; member
1216 int cpu; in setup_cpu_associativity_change_counters() local
1221 for_each_possible_cpu(cpu) { in setup_cpu_associativity_change_counters()
1223 u8 *counts = vphn_cpu_change_counts[cpu]; in setup_cpu_associativity_change_counters()
1224 volatile u8 *hypervisor_counts = lppaca[cpu].vphn_assoc_counts; in setup_cpu_associativity_change_counters()
1244 int cpu; in update_cpu_associativity_changes_mask() local
1247 for_each_possible_cpu(cpu) { in update_cpu_associativity_changes_mask()
1249 u8 *counts = vphn_cpu_change_counts[cpu]; in update_cpu_associativity_changes_mask()
1250 volatile u8 *hypervisor_counts = lppaca[cpu].vphn_assoc_counts; in update_cpu_associativity_changes_mask()
1259 cpumask_or(changes, changes, cpu_sibling_mask(cpu)); in update_cpu_associativity_changes_mask()
1260 cpu = cpu_last_thread_sibling(cpu); in update_cpu_associativity_changes_mask()
1271 static long hcall_vphn(unsigned long cpu, __be32 *associativity) in hcall_vphn() argument
1276 int hwcpu = get_hard_smp_processor_id(cpu); in hcall_vphn()
1284 static long vphn_get_associativity(unsigned long cpu, in vphn_get_associativity() argument
1289 rc = hcall_vphn(cpu, associativity); in vphn_get_associativity()
1315 unsigned long cpu; in update_cpu_topology() local
1320 cpu = smp_processor_id(); in update_cpu_topology()
1324 if (cpu != update->cpu) in update_cpu_topology()
1327 unmap_cpu_from_node(cpu); in update_cpu_topology()
1328 map_cpu_to_node(cpu, new_nid); in update_cpu_topology()
1329 set_cpu_numa_node(cpu, new_nid); in update_cpu_topology()
1330 set_cpu_numa_mem(cpu, local_memory_node(new_nid)); in update_cpu_topology()
1354 base = cpu_first_thread_sibling(update->cpu); in update_lookup_table()
1370 unsigned int cpu, sibling, changed = 0; in arch_update_cpu_topology() local
1390 for_each_cpu(cpu, &cpu_associativity_changes_mask) { in arch_update_cpu_topology()
1396 if (!cpumask_subset(cpu_sibling_mask(cpu), in arch_update_cpu_topology()
1399 "change, cpu%d\n", cpu); in arch_update_cpu_topology()
1402 cpu_sibling_mask(cpu)); in arch_update_cpu_topology()
1403 cpu = cpu_last_thread_sibling(cpu); in arch_update_cpu_topology()
1408 vphn_get_associativity(cpu, associativity); in arch_update_cpu_topology()
1413 if (new_nid == numa_cpu_lookup_table[cpu]) { in arch_update_cpu_topology()
1416 cpu_sibling_mask(cpu)); in arch_update_cpu_topology()
1417 cpu = cpu_last_thread_sibling(cpu); in arch_update_cpu_topology()
1421 for_each_cpu(sibling, cpu_sibling_mask(cpu)) { in arch_update_cpu_topology()
1423 ud->cpu = sibling; in arch_update_cpu_topology()
1430 cpu = cpu_last_thread_sibling(cpu); in arch_update_cpu_topology()
1437 "to %d\n", ud->cpu, in arch_update_cpu_topology()
1467 unregister_cpu_under_node(ud->cpu, ud->old_nid); in arch_update_cpu_topology()
1468 register_cpu_under_node(ud->cpu, ud->new_nid); in arch_update_cpu_topology()
1470 dev = get_cpu_device(ud->cpu); in arch_update_cpu_topology()
1473 cpumask_clear_cpu(ud->cpu, &cpu_associativity_changes_mask); in arch_update_cpu_topology()