aboutsummaryrefslogtreecommitdiff
path: root/hw/i386/acpi-build.c
diff options
context:
space:
mode:
authorIgor Mammedov <imammedo@redhat.com>2016-10-05 17:51:23 +0200
committerMichael S. Tsirkin <mst@redhat.com>2016-10-10 01:16:57 +0300
commit6bea1ddf8b411dcb0ba5d3a83c4479492185a409 (patch)
tree5cb12d18c284631589e3bdf687eeb08130e3f159 /hw/i386/acpi-build.c
parenta06b1dae4706fccb9394b35e88d1905dabec85e7 (diff)
downloadqemu-6bea1ddf8b411dcb0ba5d3a83c4479492185a409.zip
qemu-6bea1ddf8b411dcb0ba5d3a83c4479492185a409.tar.gz
qemu-6bea1ddf8b411dcb0ba5d3a83c4479492185a409.tar.bz2
numa: reduce code duplication by adding helper numa_get_node_for_cpu()
Replace repeated pattern for (i = 0; i < nb_numa_nodes; i++) { if (test_bit(idx, numa_info[i].node_cpu)) { ... break; with a helper function to lookup numa node index for cpu. Suggested-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Reviewed-by: Shannon Zhao <shannon.zhao@linaro.org> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'hw/i386/acpi-build.c')
-rw-r--r--hw/i386/acpi-build.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index c20bc71..e999654 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -2410,18 +2410,15 @@ build_srat(GArray *table_data, BIOSLinker *linker, MachineState *machine)
srat->reserved1 = cpu_to_le32(1);
for (i = 0; i < apic_ids->len; i++) {
- int j;
+ int j = numa_get_node_for_cpu(i);
int apic_id = apic_ids->cpus[i].arch_id;
core = acpi_data_push(table_data, sizeof *core);
core->type = ACPI_SRAT_PROCESSOR_APIC;
core->length = sizeof(*core);
core->local_apic_id = apic_id;
- for (j = 0; j < nb_numa_nodes; j++) {
- if (test_bit(i, numa_info[j].node_cpu)) {
+ if (j < nb_numa_nodes) {
core->proximity_lo = j;
- break;
- }
}
memset(core->proximity_hi, 0, 3);
core->local_sapic_eid = 0;