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()
522 struct device_node *cpu; in numa_setup_cpu() local
534 cpu = of_get_cpu_node(lcpu, NULL); in numa_setup_cpu()
536 if (!cpu) { in numa_setup_cpu()
544 nid = of_node_to_nid_single(cpu); in numa_setup_cpu()
551 of_node_put(cpu); in numa_setup_cpu()
556 static void verify_cpu_node_mapping(int cpu, int node) in verify_cpu_node_mapping() argument
561 base = cpu_first_thread_sibling(cpu); in verify_cpu_node_mapping()
566 if (sibling == cpu || cpu_is_offline(sibling)) in verify_cpu_node_mapping()
571 " to the same node!\n", cpu, sibling); in verify_cpu_node_mapping()
736 struct device_node *cpu; in parse_numa_properties() local
739 cpu = of_get_cpu_node(i, NULL); in parse_numa_properties()
740 BUG_ON(!cpu); in parse_numa_properties()
741 nid = of_node_to_nid_single(cpu); in parse_numa_properties()
742 of_node_put(cpu); in parse_numa_properties()
843 unsigned int cpu, count; in dump_numa_cpu_topology() local
856 for (cpu = 0; cpu < nr_cpu_ids; cpu++) { in dump_numa_cpu_topology()
857 if (cpumask_test_cpu(cpu, in dump_numa_cpu_topology()
860 printk(" %u", cpu); in dump_numa_cpu_topology()
864 printk("-%u", cpu - 1); in dump_numa_cpu_topology()
949 int nid, cpu; in initmem_init() local
987 for_each_present_cpu(cpu) { in initmem_init()
988 numa_setup_cpu((unsigned long)cpu); in initmem_init()
1192 unsigned int cpu; member
1209 int cpu; in setup_cpu_associativity_change_counters() local
1214 for_each_possible_cpu(cpu) { in setup_cpu_associativity_change_counters()
1216 u8 *counts = vphn_cpu_change_counts[cpu]; in setup_cpu_associativity_change_counters()
1217 volatile u8 *hypervisor_counts = lppaca[cpu].vphn_assoc_counts; in setup_cpu_associativity_change_counters()
1237 int cpu; in update_cpu_associativity_changes_mask() local
1240 for_each_possible_cpu(cpu) { in update_cpu_associativity_changes_mask()
1242 u8 *counts = vphn_cpu_change_counts[cpu]; in update_cpu_associativity_changes_mask()
1243 volatile u8 *hypervisor_counts = lppaca[cpu].vphn_assoc_counts; in update_cpu_associativity_changes_mask()
1252 cpumask_or(changes, changes, cpu_sibling_mask(cpu)); in update_cpu_associativity_changes_mask()
1253 cpu = cpu_last_thread_sibling(cpu); in update_cpu_associativity_changes_mask()
1264 static long hcall_vphn(unsigned long cpu, __be32 *associativity) in hcall_vphn() argument
1269 int hwcpu = get_hard_smp_processor_id(cpu); in hcall_vphn()
1277 static long vphn_get_associativity(unsigned long cpu, in vphn_get_associativity() argument
1282 rc = hcall_vphn(cpu, associativity); in vphn_get_associativity()
1308 unsigned long cpu; in update_cpu_topology() local
1313 cpu = smp_processor_id(); in update_cpu_topology()
1317 if (cpu != update->cpu) in update_cpu_topology()
1320 unmap_cpu_from_node(cpu); in update_cpu_topology()
1321 map_cpu_to_node(cpu, new_nid); in update_cpu_topology()
1322 set_cpu_numa_node(cpu, new_nid); in update_cpu_topology()
1323 set_cpu_numa_mem(cpu, local_memory_node(new_nid)); in update_cpu_topology()
1347 base = cpu_first_thread_sibling(update->cpu); in update_lookup_table()
1363 unsigned int cpu, sibling, changed = 0; in arch_update_cpu_topology() local
1383 for_each_cpu(cpu, &cpu_associativity_changes_mask) { in arch_update_cpu_topology()
1389 if (!cpumask_subset(cpu_sibling_mask(cpu), in arch_update_cpu_topology()
1392 "change, cpu%d\n", cpu); in arch_update_cpu_topology()
1395 cpu_sibling_mask(cpu)); in arch_update_cpu_topology()
1396 cpu = cpu_last_thread_sibling(cpu); in arch_update_cpu_topology()
1401 vphn_get_associativity(cpu, associativity); in arch_update_cpu_topology()
1406 if (new_nid == numa_cpu_lookup_table[cpu]) { in arch_update_cpu_topology()
1409 cpu_sibling_mask(cpu)); in arch_update_cpu_topology()
1410 cpu = cpu_last_thread_sibling(cpu); in arch_update_cpu_topology()
1414 for_each_cpu(sibling, cpu_sibling_mask(cpu)) { in arch_update_cpu_topology()
1416 ud->cpu = sibling; in arch_update_cpu_topology()
1423 cpu = cpu_last_thread_sibling(cpu); in arch_update_cpu_topology()
1430 "to %d\n", ud->cpu, in arch_update_cpu_topology()
1460 unregister_cpu_under_node(ud->cpu, ud->old_nid); in arch_update_cpu_topology()
1461 register_cpu_under_node(ud->cpu, ud->new_nid); in arch_update_cpu_topology()
1463 dev = get_cpu_device(ud->cpu); in arch_update_cpu_topology()
1466 cpumask_clear_cpu(ud->cpu, &cpu_associativity_changes_mask); in arch_update_cpu_topology()