static int __init topology_init(void) { int i, err = 0; #ifdef CONFIG_NUMA /* * MCD - Do we want to register all ONLINE nodes, or all POSSIBLE nodes? */ for_each_online_node(i) { if ((err = register_one_node(i))) goto out; } #endif sysfs_cpus = kzalloc(sizeof(struct ia64_cpu) * NR_CPUS, GFP_KERNEL); if (!sysfs_cpus) panic("kzalloc in topology_init failed - NR_CPUS too big?"); for_each_present_cpu(i) { if((err = arch_register_cpu(i))) goto out; } out: return err; }
static acpi_status acpi_processor_hotadd_init(struct acpi_processor *pr) { acpi_handle handle = pr->handle; if (!is_processor_present(handle)) { return AE_ERROR; } if (acpi_map_lsapic(handle, &pr->id)) return AE_ERROR; if (arch_register_cpu(pr->id)) { acpi_unmap_lsapic(pr->id); return AE_ERROR; } /* CPU got hot-plugged, but cpu_data is not initialized yet * Set flag to delay cpu_idle/throttling initialization * in: * acpi_processor_add() * acpi_processor_get_info() * and do it when the CPU gets online the first time * TBD: Cleanup above functions and try to do this more elegant. */ printk(KERN_INFO "CPU %d got hotplugged\n", pr->id); pr->flags.need_hotplug_init = 1; return AE_OK; }
static int acpi_processor_hotadd_init(struct acpi_processor *pr) { unsigned long long sta; acpi_status status; int ret; status = acpi_evaluate_integer(pr->handle, "_STA", NULL, &sta); if (ACPI_FAILURE(status) || !(sta & ACPI_STA_DEVICE_PRESENT)) return -ENODEV; ret = acpi_map_lsapic(pr->handle, &pr->id); if (ret) return ret; ret = arch_register_cpu(pr->id); if (ret) { acpi_unmap_lsapic(pr->id); return ret; } /* * CPU got hot-added, but cpu_data is not initialized yet. Set a flag * to delay cpu_idle/throttling initialization and do it when the CPU * gets online for the first time. */ pr_info("CPU%d has been hot-added\n", pr->id); pr->flags.need_hotplug_init = 1; return 0; }
static void enable_hotplug_cpu(int cpu) { if (!cpu_present(cpu)) arch_register_cpu(cpu); set_cpu_present(cpu, true); }
static int __init topology_init(void) { int i, err = 0; #ifdef CONFIG_NUMA sysfs_nodes = kmalloc(sizeof(struct node) * MAX_NUMNODES, GFP_KERNEL); if (!sysfs_nodes) { err = -ENOMEM; goto out; } memset(sysfs_nodes, 0, sizeof(struct node) * MAX_NUMNODES); /* MCD - Do we want to register all ONLINE nodes, or all POSSIBLE nodes? */ for_each_online_node(i) if ((err = register_node(&sysfs_nodes[i], i, 0))) goto out; #endif sysfs_cpus = kmalloc(sizeof(struct ia64_cpu) * NR_CPUS, GFP_KERNEL); if (!sysfs_cpus) { err = -ENOMEM; goto out; } memset(sysfs_cpus, 0, sizeof(struct ia64_cpu) * NR_CPUS); for_each_present_cpu(i) if((err = arch_register_cpu(i))) goto out; out: return err; }
static void enable_hotplug_cpu(int cpu) { if (!cpu_present(cpu)) arch_register_cpu(cpu); cpu_set(cpu, cpu_present_map); }
static int __init topology_init(void) { int i; for (i = 0; i < NR_CPUS; i++) if (cpu_possible(i)) arch_register_cpu(i); return 0; }
static int __init topology_init(void) { int i; for_each_cpu(i) arch_register_cpu(i); return 0; }
static int __init topology_init(void) { int i; for_each_online_node(i) register_one_node(i); for_each_present_cpu(i) arch_register_cpu(i); return 0; }
static int __init topology_init(void) { int i; for (i = 0; i < MAX_NUMNODES; i++) { if (node_online(i)) arch_register_node(i); } for (i = 0; i < NR_CPUS; i++) if (cpu_possible(i)) arch_register_cpu(i); return 0; }
static int __init topology_init(void) { int i; for (i = 0; i < num_online_nodes(); i++) arch_register_node(i); for (i = 0; i < NR_CPUS; i++) if (cpu_possible(i)) arch_register_cpu(i); for (i = 0; i < num_online_memblks(); i++) arch_register_memblk(i); return 0; }
static int __init topology_init(void) { int i; #ifdef CONFIG_NUMA for_each_online_node(i) register_one_node(i); #endif /* CONFIG_NUMA */ for_each_present_cpu(i) arch_register_cpu(i); return 0; }
static acpi_status acpi_processor_hotadd_init(acpi_handle handle, int *p_cpu) { if (!is_processor_present(handle)) { return AE_ERROR; } if (acpi_map_lsapic(handle, p_cpu)) return AE_ERROR; if (arch_register_cpu(*p_cpu)) { acpi_unmap_lsapic(*p_cpu); return AE_ERROR; } return AE_OK; }
static acpi_status acpi_processor_hotadd_init(acpi_handle handle, int *p_cpu) { ACPI_FUNCTION_TRACE("acpi_processor_hotadd_init"); if (!is_processor_present(handle)) { return_VALUE(AE_ERROR); } if (acpi_map_lsapic(handle, p_cpu)) return_VALUE(AE_ERROR); if (arch_register_cpu(*p_cpu)) { acpi_unmap_lsapic(*p_cpu); return_VALUE(AE_ERROR); } return_VALUE(AE_OK); }
static acpi_status acpi_processor_hotadd_init(struct acpi_processor *pr) { acpi_handle handle = pr->handle; if (!is_processor_present(handle)) { return AE_ERROR; } if (acpi_map_lsapic(handle, &pr->id)) return AE_ERROR; if (arch_register_cpu(pr->id)) { acpi_unmap_lsapic(pr->id); return AE_ERROR; } printk(KERN_INFO "CPU %d got hotplugged\n", pr->id); pr->flags.need_hotplug_init = 1; return AE_OK; }