aboutsummaryrefslogtreecommitdiff
path: root/hw/core
diff options
context:
space:
mode:
authorTao Xu <tao3.xu@intel.com>2019-09-05 16:32:38 +0800
committerEduardo Habkost <ehabkost@redhat.com>2019-10-15 18:18:08 -0300
commit0533ef5f2089f4f12a0ec5c8035e5e15ba0b5556 (patch)
treef93df647f5494ac13a34d7d2e5dfbd43fc3eea0b /hw/core
parent021a007efc31d99416335f73a3c8f1b9183e0047 (diff)
numa: Introduce MachineClass::auto_enable_numa for implicit NUMA node
Add MachineClass::auto_enable_numa field. When it is true, a NUMA node is expected to be created implicitly. Acked-by: David Gibson <david@gibson.dropbear.id.au> Suggested-by: Igor Mammedov <imammedo@redhat.com> Suggested-by: Eduardo Habkost <ehabkost@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: Tao Xu <tao3.xu@intel.com> Message-Id: <20190905083238.1799-1-tao3.xu@intel.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Diffstat (limited to 'hw/core')
-rw-r--r--hw/core/numa.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/hw/core/numa.c b/hw/core/numa.c
index 4dfec5c95b..038c96d4ab 100644
--- a/hw/core/numa.c
+++ b/hw/core/numa.c
@@ -378,11 +378,17 @@ void numa_complete_configuration(MachineState *ms)
* guest tries to use it with that drivers.
*
* Enable NUMA implicitly by adding a new NUMA node automatically.
+ *
+ * Or if MachineClass::auto_enable_numa is true and no NUMA nodes,
+ * assume there is just one node with whole RAM.
*/
- if (ms->ram_slots > 0 && ms->numa_state->num_nodes == 0 &&
- mc->auto_enable_numa_with_memhp) {
+ if (ms->numa_state->num_nodes == 0 &&
+ ((ms->ram_slots > 0 &&
+ mc->auto_enable_numa_with_memhp) ||
+ mc->auto_enable_numa)) {
NumaNodeOptions node = { };
parse_numa_node(ms, &node, &error_abort);
+ numa_info[0].node_mem = ram_size;
}
assert(max_numa_nodeid <= MAX_NODES);