qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v3 0/6] numa: deprecate '-numa node, mem' and defaul


From: Igor Mammedov
Subject: [Qemu-devel] [PATCH v3 0/6] numa: deprecate '-numa node, mem' and default memory distribution
Date: Fri, 17 May 2019 09:45:13 +0200

Changes since v2:
  - taking in account previous review, implement a way for mgmt to intospect if
    '-numa node,mem' is supported by machine type as suggested by Daniel at
             https://www.mail-archive.com/address@hidden/msg601220.html
      * ammend "qom-list-properties" to show property values
      * add "numa-mem-supported" machine property to reflect if '-numa 
node,mem=SZ'
        is supported. It culd be used with '-machine none' or at runtime with
        --preconfig before numa memory mapping are configured
  * minor fixes to deprecation documentation mentioning "numa-mem-supported" 
property

 1) "I'm considering to deprecating -mem-path/prealloc CLI options and replacing
them with a single memdev Machine property to allow interested users to pick
used backend for initial RAM (fixes mixed -mem-path+hostmem backends issues)
and as a transition step to modeling initial RAM as a Device instead of
(ab)using MemoryRegion APIs."
(for more details see: 
https://www.mail-archive.com/address@hidden/msg596314.html)

However there is a couple of roadblocks on the way (s390x and numa memory 
handling).
I think I finally thought out a way to hack s390x in migration compatible 
manner,
but I don't see any way to do it for -numa node,mem and default RAM assignement
to nodes. Considering both numa usecases aren't meaningfully using NUMA (aside
guest side testing) and could be replaced with explicitly used memdev parameter,
I'd like to propose removing these fake NUMA friends on new machine types,
hence this deprecation. And once the last machie type that supported the option
is removed we would be able to remove option altogether.

As result of removing deprecated options and replacing initial RAM allocation
with 'memdev's (1), QEMU will allocate guest RAM in consistent way, fixing mixed
use-case and allowing boards to move towards modelling initial RAM as Device(s).
Which in its own turn should allow to cleanup NUMA/HMP/memory accounting code
more by dropping ad-hoc node_mem tracking and reusing memory device enumeration
instead.

Reference to previous versions:
 * [PATCH 0/2] numa: deprecate -numa node, mem and default memory distribution
    https://www.mail-archive.com/address@hidden/msg600706.html
 * [PATCH] numa: warn if numa 'mem' option or default RAM splitting between 
nodes is used.
    https://www.mail-archive.com/address@hidden/msg602136.html
 * [PATCH v2] numa: warn if numa 'mem' option or default RAM splitting between 
nodes is used.
    https://www.spinics.net/linux/fedora/libvir/msg180917.html

CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden

Igor Mammedov (6):
  pc: fix possible NULL pointer dereference in
    pc_machine_get_device_memory_region_size()
  qmp: make "qom-list-properties" show initial property values
  qmp: qmp_qom_list_properties(): ignore empty string options
  numa: introduce "numa-mem-supported" machine property
  numa: deprecate 'mem' parameter of '-numa node' option
  numa: deprecate implict memory distribution between nodes

 include/hw/boards.h  |  1 +
 hw/arm/virt.c        |  1 +
 hw/core/machine.c    | 12 ++++++++++++
 hw/i386/pc.c         |  7 ++++++-
 hw/ppc/spapr.c       |  1 +
 numa.c               |  5 +++++
 qapi/misc.json       |  5 ++++-
 qemu-deprecated.texi | 24 ++++++++++++++++++++++++
 qmp.c                | 15 +++++++++++++++
 9 files changed, 69 insertions(+), 2 deletions(-)

-- 
2.7.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]