Skip to content

NUMA series and hostmem improvements

Hu Tao qemu-devel 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest29 patches 62 repliesIn review
  2. v334 patches 1 replySuperseded

Patches in v4 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/29NUMA: move numa related code to new file numa.cMakefile.target cpus.c include/exec/cpu-all.h +5 more+192 -1560 replies
2/29NUMA: check if the total numa memory size is equal to ram_sizenuma.c+14 -04 replies
3/29NUMA: Add numa_info structure to contain numa nodes infohw/i386/pc.c hw/ppc/spapr.c include/sysemu/sysemu.h +3 more+36 -270 replies
4/29NUMA: convert -numa option to use OptsVisitorinclude/sysemu/sysemu.h numa.c qapi-schema.json +1 more+114 -777 replies
5/29NUMA: expand MAX_NODES from 64 to 128include/sysemu/sysemu.h+1 -10 replies
6/29man: improve -numa docqemu-options.hx+7 -30 replies
7/29vl: redo -object parsingvl.c+36 -290 replies
8/29qmp: improve error reporting for -object and object-addqmp.c+2 -12 replies
9/29pc: pass MachineState to pc_memory_inithw/i386/pc.c hw/i386/pc_piix.c hw/i386/pc_q35.c +1 more+18 -241 reply
10/29numa: introduce memory_region_allocate_system_memoryhw/i386/pc.c include/hw/boards.h include/sysemu/sysemu.h +1 more+17 -30 replies
11/29hostmem: separate allocation from UserCreatable complete methodbackends/hostmem-ram.c backends/hostmem.c include/sysemu/hostmem.h+35 -142 replies
12/29numa: add -numa node,memdev= optioninclude/sysemu/sysemu.h numa.c qapi-schema.json +1 more+77 -92 replies
13/29memory: reorganize file-based allocationexec.c include/exec/cpu-all.h include/exec/ram_addr.h +2 more+73 -460 replies
14/29memory: move mem_path handling to memory_region_allocate_system_memoryexec.c include/exec/memory.h memory.c +1 more+46 -140 replies
15/29memory: add error propagation to file-based RAM allocationexec.c include/exec/memory.h include/exec/ram_addr.h +2 more+44 -170 replies
16/29memory: move preallocation code out of exec.cexec.c include/qemu/osdep.h util/oslib-posix.c+76 -433 replies
17/29memory: move RAM_PREALLOC_MASK to exec.c, renameexec.c include/exec/cpu-all.h+6 -60 replies
18/29hostmem: add file-based HostMemoryBackendbackends/Makefile.objs backends/hostmem-file.c+108 -018 replies
19/29hostmem: add merge and dump propertiesbackends/hostmem.c include/qemu/osdep.h include/sysemu/hostmem.h+94 -10 replies
20/29hostmem: allow preallocation of any memory regionbackends/hostmem-file.c backends/hostmem.c exec.c +4 more+75 -02 replies
21/29hostmem: add property to map memory with MAP_SHAREDbackends/hostmem-file.c exec.c include/exec/memory.h +3 more+42 -120 replies
22/29configure: add Linux libnuma detectionconfigure+32 -00 replies
23/29hostmem: add properties for NUMA memory policybackends/hostmem.c include/sysemu/hostmem.h qapi-schema.json+159 -10 replies
24/29Introduce signed range.include/qemu/range.h+124 -04 replies
25/29qapi: make string input visitor parse int listqapi/string-input-visitor.c tests/test-string-input-visitor.c+212 -80 replies
26/29qapi: make string output visitor parse int listqapi/string-output-visitor.c tests/test-string-output-visitor.c+254 -100 replies
27/29qom: introduce object_property_get_enum and object_property_get_uint16Listinclude/qom/object.h qom/object.c+63 -00 replies
28/29qmp: add query-memdevnuma.c qapi-schema.json qmp-commands.hx+138 -08 replies
29/29hmp: add info memdevhmp.c hmp.h monitor.c+44 -00 replies

Reviews trailers per patch

8 of 29 patches have a Reviewed-by or Acked-by.

PatchEduardo HabkostIgor Mammedov
1/29R-b
2/29R-b
3/29R-b
4/29T-b R-b
5/29R-b
6/29R-b
7/29
8/29R-b
9/29R-b
10/29
11/29
12/29
13/29
14/29
15/29
16/29
17/29
18/29
19/29
20/29
21/29
22/29
23/29
24/29
25/29
26/29
27/29
28/29
29/29

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v4 thread

Cover letter [Qemu-devel] [PATCH v4 00/29] NUMA series and hostmem improvements

note: this series is based on MST's pci tree.

changes to v3.2:

- rebase to latest git tree since there are several conflicts
- no error_is_set() now
- no QEMUMachineInitArgs now
- use mbind flag MPOL_MF_STRICT to catch memory allocations that don't follow policy
- some document & error message fix

Hu Tao (8):
hostmem: separate allocation from UserCreatable complete method
hostmem: add properties for NUMA memory policy Introduce signed range.
qapi: make string input visitor parse int list
qapi: make string output visitor parse int list
qom: introduce object_property_get_enum and
object_property_get_uint16List
qmp: add query-memdev
hmp: add info memdev

Luiz Capitulino (1):
man: improve -numa doc

Paolo Bonzini (14):
vl: redo -object parsing
qmp: improve error reporting for -object and object-add
pc: pass MachineState to pc_memory_init
numa: introduce memory_region_allocate_system_memory
numa: add -numa node,memdev= option
memory: reorganize file-based allocation
memory: move mem_path handling to memory_region_allocate_system_memory
memory: add error propagation to file-based RAM allocation
memory: move preallocation code out of exec.c
memory: move RAM_PREALLOC_MASK to exec.c, rename
hostmem: add file-based HostMemoryBackend
hostmem: add merge and dump properties
hostmem: allow preallocation of any memory region
hostmem: add property to map memory with MAP_SHARED

Wanlong Gao (6):
NUMA: move numa related code to new file numa.c
NUMA: check if the total numa memory size is equal to ram_size
NUMA: Add numa_info structure to contain numa nodes info
NUMA: convert -numa option to use OptsVisitor
NUMA: expand MAX_NODES from 64 to 128
configure: add Linux libnuma detection

 Makefile.target                    |   2 +-
 backends/Makefile.objs             |   1 +
 backends/hostmem-file.c            | 134 ++++++++++++++
 backends/hostmem-ram.c             |   7 +-
 backends/hostmem.c                 | 300 +++++++++++++++++++++++++++++--
 configure                          |  32 ++++
 cpus.c                             |  14 --
 exec.c                             | 211 +++++++++++-----------
 hmp.c                              |  36 ++++
 hmp.h                              |   1 +
 hw/i386/pc.c                       |  37 ++--
 hw/i386/pc_piix.c                  |   8 +-
 hw/i386/pc_q35.c                   |   4 +-
 hw/ppc/spapr.c                     |  11 +-
 include/exec/cpu-all.h             |   8 -
 include/exec/cpu-common.h          |   2 +
 include/exec/memory.h              |  33 ++++
 include/exec/ram_addr.h            |   4 +
 include/hw/boards.h                |   6 +-
 include/hw/i386/pc.h               |   7 +-
 include/qemu/osdep.h               |  12 ++
 include/qemu/range.h               | 124 +++++++++++++
 include/qom/object.h               |  28 +++
 include/sysemu/cpus.h              |   1 -
 include/sysemu/hostmem.h           |   8 +
 include/sysemu/sysemu.h            |  18 +-
 memory.c                           |  29 +++
 monitor.c                          |   9 +-
 numa.c                             | 354 +++++++++++++++++++++++++++++++++++++
 qapi-schema.json                   |  91 ++++++++++
 qapi/string-input-visitor.c        | 181 ++++++++++++++++++-
 qapi/string-output-visitor.c       | 230 ++++++++++++++++++++++--
 qemu-options.hx                    |  16 +-
 qmp-commands.hx                    |  32 ++++
 qmp.c                              |   3 +-
 qom/object.c                       |  35 ++++
 tests/test-string-input-visitor.c  |  39 ++++
 tests/test-string-output-visitor.c |  34 ++++
 util/oslib-posix.c                 |  73 ++++++++
 vl.c                               | 216 +++++-----------------
 40 files changed, 2014 insertions(+), 377 deletions(-)
 create mode 100644 backends/hostmem-file.c
 create mode 100644 numa.c
Signature · 1 line
1.9.3