Commit 7e721e7b authored by Tao Xu's avatar Tao Xu Committed by Eduardo Habkost
Browse files

numa: move numa global variable numa_info into MachineState



Move existing numa global numa_info (renamed as "nodes") into NumaState.

Reviewed-by: default avatarIgor Mammedov <imammedo@redhat.com>
Suggested-by: default avatarIgor Mammedov <imammedo@redhat.com>
Suggested-by: default avatarEduardo Habkost <ehabkost@redhat.com>
Signed-off-by: default avatarTao Xu <tao3.xu@intel.com>
Message-Id: <20190809065731.9097-5-tao3.xu@intel.com>
Signed-off-by: default avatarEduardo Habkost <ehabkost@redhat.com>
parent 118154b7
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1780,7 +1780,7 @@ long qemu_minrampagesize(void)
    if (hpsize > mainrampagesize &&
        (ms->numa_state == NULL ||
         ms->numa_state->num_nodes == 0 ||
         numa_info[0].node_memdev == NULL)) {
         ms->numa_state->nodes[0].node_memdev == NULL)) {
        static bool warned;
        if (!warned) {
            error_report("Huge page support disabled (n/a for main memory).");
+4 −2
Original line number Diff line number Diff line
@@ -1738,8 +1738,10 @@ void build_slit(GArray *table_data, BIOSLinker *linker, MachineState *ms)
    build_append_int_noprefix(table_data, nb_numa_nodes, 8);
    for (i = 0; i < nb_numa_nodes; i++) {
        for (j = 0; j < nb_numa_nodes; j++) {
            assert(numa_info[i].distance[j]);
            build_append_int_noprefix(table_data, numa_info[i].distance[j], 1);
            assert(ms->numa_state->nodes[i].distance[j]);
            build_append_int_noprefix(table_data,
                                      ms->numa_state->nodes[i].distance[j],
                                      1);
        }
    }

+1 −1
Original line number Diff line number Diff line
@@ -601,7 +601,7 @@ int arm_load_dtb(hwaddr addr, const struct arm_boot_info *binfo,
    if (ms->numa_state != NULL && ms->numa_state->num_nodes > 0) {
        mem_base = binfo->loader_start;
        for (i = 0; i < ms->numa_state->num_nodes; i++) {
            mem_len = numa_info[i].node_mem;
            mem_len = ms->numa_state->nodes[i].node_mem;
            rc = fdt_add_memory_node(fdt, acells, mem_base,
                                     scells, mem_len, i);
            if (rc < 0) {
+2 −1
Original line number Diff line number Diff line
@@ -170,7 +170,8 @@ static void create_fdt(SBSAMachineState *sms)
                idx = (i * nb_numa_nodes + j) * 3;
                matrix[idx + 0] = cpu_to_be32(i);
                matrix[idx + 1] = cpu_to_be32(j);
                matrix[idx + 2] = cpu_to_be32(numa_info[i].distance[j]);
                matrix[idx + 2] =
                    cpu_to_be32(ms->numa_state->nodes[i].distance[j]);
            }
        }

+4 −3
Original line number Diff line number Diff line
@@ -535,11 +535,12 @@ build_srat(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms)

    mem_base = vms->memmap[VIRT_MEM].base;
    for (i = 0; i < ms->numa_state->num_nodes; ++i) {
        if (numa_info[i].node_mem > 0) {
        if (ms->numa_state->nodes[i].node_mem > 0) {
            numamem = acpi_data_push(table_data, sizeof(*numamem));
            build_srat_memory(numamem, mem_base, numa_info[i].node_mem, i,
            build_srat_memory(numamem, mem_base,
                              ms->numa_state->nodes[i].node_mem, i,
                              MEM_AFFINITY_ENABLED);
            mem_base += numa_info[i].node_mem;
            mem_base += ms->numa_state->nodes[i].node_mem;
        }
    }

Loading