aboutsummaryrefslogtreecommitdiff
path: root/hw/core
diff options
context:
space:
mode:
authorIgor Mammedov <imammedo@redhat.com>2020-09-11 04:44:08 -0400
committerPaolo Bonzini <pbonzini@redhat.com>2020-09-30 19:09:20 +0200
commitb21aa7e01eb82f94ccdd7afdbe299a242d215272 (patch)
treecdca8a14877d475fa33bef167d1e15f350eb5077 /hw/core
parent8f814ea1a2769311c71af069210dbba1de3aa9a4 (diff)
downloadqemu-b21aa7e01eb82f94ccdd7afdbe299a242d215272.zip
qemu-b21aa7e01eb82f94ccdd7afdbe299a242d215272.tar.gz
qemu-b21aa7e01eb82f94ccdd7afdbe299a242d215272.tar.bz2
numa: drop support for '-numa node' (without memory specified)
it was deprecated since 4.1 commit 4bb4a2732e (numa: deprecate implict memory distribution between nodes) Users of existing VMs, wishing to preserve the same RAM distribution, should configure it explicitly using ``-numa node,memdev`` options. Current RAM distribution can be retrieved using HMP command `info numa` and if separate memory devices (pc|nv-dimm) are present use `info memory-device` and subtract device memory from output of `info numa`. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Message-Id: <20200911084410.788171-2-imammedo@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/core')
-rw-r--r--hw/core/machine.c1
-rw-r--r--hw/core/numa.c55
2 files changed, 0 insertions, 56 deletions
diff --git a/hw/core/machine.c b/hw/core/machine.c
index d7f4a0d..7e2f4ec 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -790,7 +790,6 @@ static void machine_class_init(ObjectClass *oc, void *data)
* On Linux, each node's border has to be 8MB aligned
*/
mc->numa_mem_align_shift = 23;
- mc->numa_auto_assign_ram = numa_default_auto_assign_ram;
object_class_property_add_str(oc, "kernel",
machine_get_kernel, machine_set_kernel);
diff --git a/hw/core/numa.c b/hw/core/numa.c
index f9593ec..706c1e8 100644
--- a/hw/core/numa.c
+++ b/hw/core/numa.c
@@ -611,42 +611,6 @@ static void complete_init_numa_distance(MachineState *ms)
}
}
-void numa_legacy_auto_assign_ram(MachineClass *mc, NodeInfo *nodes,
- int nb_nodes, ram_addr_t size)
-{
- int i;
- uint64_t usedmem = 0;
-
- /* Align each node according to the alignment
- * requirements of the machine class
- */
-
- for (i = 0; i < nb_nodes - 1; i++) {
- nodes[i].node_mem = (size / nb_nodes) &
- ~((1 << mc->numa_mem_align_shift) - 1);
- usedmem += nodes[i].node_mem;
- }
- nodes[i].node_mem = size - usedmem;
-}
-
-void numa_default_auto_assign_ram(MachineClass *mc, NodeInfo *nodes,
- int nb_nodes, ram_addr_t size)
-{
- int i;
- uint64_t usedmem = 0, node_mem;
- uint64_t granularity = size / nb_nodes;
- uint64_t propagate = 0;
-
- for (i = 0; i < nb_nodes - 1; i++) {
- node_mem = (granularity + propagate) &
- ~((1 << mc->numa_mem_align_shift) - 1);
- propagate = granularity + propagate - node_mem;
- nodes[i].node_mem = node_mem;
- usedmem += node_mem;
- }
- nodes[i].node_mem = size - usedmem;
-}
-
static void numa_init_memdev_container(MachineState *ms, MemoryRegion *ram)
{
int i;
@@ -717,25 +681,6 @@ void numa_complete_configuration(MachineState *ms)
ms->numa_state->num_nodes = MAX_NODES;
}
- /* If no memory size is given for any node, assume the default case
- * and distribute the available memory equally across all nodes
- */
- for (i = 0; i < ms->numa_state->num_nodes; i++) {
- if (numa_info[i].node_mem != 0) {
- break;
- }
- }
- if (i == ms->numa_state->num_nodes) {
- assert(mc->numa_auto_assign_ram);
- mc->numa_auto_assign_ram(mc, numa_info,
- ms->numa_state->num_nodes, ram_size);
- if (!qtest_enabled()) {
- warn_report("Default splitting of RAM between nodes is deprecated,"
- " Use '-numa node,memdev' to explictly define RAM"
- " allocation per node");
- }
- }
-
numa_total = 0;
for (i = 0; i < ms->numa_state->num_nodes; i++) {
numa_total += numa_info[i].node_mem;