NUMA series, and hostmem improvements
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest31 patches 16 repliesIn review
Changes from v3 from the cover letter
- address comment by Paolo
- fix bugs in string input visitor
- no conversion to memory_region_allocate_system_memory of all boards I had patch for it but don't know how to test it for all boards.
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/31 | NUMA: move numa related code to new file numa.cMakefile.target cpus.c include/ +5 more | +193 | 0 replies | |
| 2/31 | NUMA: check if the total numa memory size is equal to ram_sizenuma.c | +14 | 0 replies | |
| 3/31 | NUMA: Add numa_info structure to contain numa nodes infohw/ hw/ include/ +3 more | +36 | 0 replies | |
| 4/31 | NUMA: convert -numa option to use OptsVisitorinclude/ numa.c qapi-schema.json +1 more | +114 | 0 replies | |
| 5/31 | NUMA: expand MAX_NODES from 64 to 128include/ | +1 | 0 replies | |
| 6/31 | man: improve -numa docqemu-options.hx | +7 | 0 replies | |
| 7/31 | vl: redo -object parsingvl.c | +35 | 0 replies | |
| 8/31 | qmp: allow object-add completion handler to get canonical pathqmp.c | +8 | 0 replies | |
| 9/31 | qmp: improve error reporting for -object and object-addqmp.c | +2 | 0 replies | |
| 10/31 | pc: pass QEMUMachineInitArgs to pc_memory_inithw/ hw/ hw/ +1 more | +12 | 1 reply | |
| 11/31 | numa: introduce memory_region_allocate_system_memoryhw/ include/ include/ +1 more | +16 | 0 replies | |
| 12/31 | add memdev backend infrastructurebackends/ backends/ backends/ +1 more | +223 | 0 replies | |
| 13/31 | numa: add -numa node, memdev= optioninclude/ numa.c qapi-schema.json +1 more | +77 | 0 replies | |
| 14/31 | memory: reorganize file-based allocationexec.c include/ include/ +2 more | +73 | 0 replies | |
| 15/31 | memory: move mem_path handling to memory_region_allocate_system_memoryexec.c include/ memory.c +1 more | +46 | 0 replies | |
| 16/31 | memory: add error propagation to file-based RAM allocationexec.c include/ include/ +2 more | +44 | 0 replies | |
| 17/31 | memory: move preallocation code out of exec.cexec.c include/ util/ | +76 | 0 replies | |
| 18/31 | memory: move RAM_PREALLOC_MASK to exec.c, renameexec.c include/ | +6 | 0 replies | |
| 19/31 | hostmem: add file-based HostMemoryBackendbackends/ backends/ | +109 | 0 replies | |
| 20/31 | hostmem: separate allocation from UserCreatable complete methodbackends/ backends/ backends/ +1 more | +19 | 0 replies | |
| 21/31 | hostmem: add merge and dump propertiesbackends/ include/ include/ | +95 | 0 replies | |
| 22/31 | hostmem: allow preallocation of any memory regionbackends/ backends/ exec.c +4 more | +75 | 0 replies | |
| 23/31 | hostmem: add property to map memory with MAP_SHAREDbackends/ exec.c include/ +3 more | +42 | 0 replies | |
| 24/31 | configure: add Linux libnuma detectionconfigure | +33 | 2 replies | |
| 25/31 | hostmem: add properties for NUMA memory policybackends/ include/ qapi-schema.json | +132 | 6 replies | |
| 26/31 | Introduce signed range.include/ | +124 | 0 replies | |
| 27/31 | qapi: make string input visitor parse int listqapi/ tests/ | +212 | 0 replies | |
| 28/31 | qapi: make string output visitor parse int listqapi/ tests/ | +254 | 0 replies | |
| 29/31 | qom: introduce object_property_get_enum and object_property_get_uint16Listinclude/ qom/ | +63 | 0 replies | |
| 30/31 | qmp: add query-memdevnuma.c qapi-schema.json qmp-commands.hx | +138 | 0 replies | |
| 31/31 | hmp: add info memdevhmp.c hmp.h monitor.c | +44 | 0 replies |
Reviews trailers per patch
6 of 31 patches have a Reviewed-by or Acked-by.
| Patch | Eduardo Habkost | Michael S. Tsirkin |
|---|---|---|
| 1/31 | R-b | |
| 2/31 | R-b | |
| 3/31 | R-b | |
| 4/31 | T-b R-b | |
| 5/31 | R-b | |
| 6/31 | ||
| 7/31 | ||
| 8/31 | ||
| 9/31 | ||
| 10/31 | R-b | |
| 11/31 | ||
| 12/31 | ||
| 13/31 | ||
| 14/31 | ||
| 15/31 | ||
| 16/31 | ||
| 17/31 | ||
| 18/31 | ||
| 19/31 | ||
| 20/31 | ||
| 21/31 | ||
| 22/31 | ||
| 23/31 | ||
| 24/31 | ||
| 25/31 | ||
| 26/31 | ||
| 27/31 | ||
| 28/31 | ||
| 29/31 | ||
| 30/31 | ||
| 31/31 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [Qemu-devel] [PATCH v3.1 00/31] NUMA series, and hostmem improvements
This series includes work on QOMifying the memory backends. the idea is to delegate all properties of the memory backend to a new QOM class hierarchy, in which the concrete classes are hostmem-ram and hostmem-file. The backend is passed to the machine via "-numa node,memdev=foo" where "foo" is the id of the backend object.
Changes from v3:
- address comment by Paolo
- fix bugs in string input visitor
- no conversion to memory_region_allocate_system_memory of all boards I had patch for it but don't know how to test it for all boards.
Hu Tao (7):
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
Igor Mammedov (2):
qmp: allow object-add completion handler to get canonical path add memdev backend infrastructure
Luiz Capitulino (1):
man: improve -numa doc
Paolo Bonzini (15):
vl: redo -object parsing
qmp: improve error reporting for -object and object-add
pc: pass QEMUMachineInitArgs 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: separate allocation from UserCreatable complete method
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 | 3 + backends/hostmem-file.c | 134 ++++++++++++++ backends/hostmem-ram.c | 53 ++++++ backends/hostmem.c | 349 ++++++++++++++++++++++++++++++++++++ configure | 33 ++++ cpus.c | 14 -- exec.c | 211 +++++++++++----------- hmp.c | 36 ++++ hmp.h | 1 + hw/i386/pc.c | 27 +-- 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 | 66 +++++++ include/sysemu/sysemu.h | 18 +- memory.c | 29 +++ monitor.c | 9 +- numa.c | 355 +++++++++++++++++++++++++++++++++++++ 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 | 14 +- 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 | 238 +++++-------------------- 40 files changed, 2187 insertions(+), 384 deletions(-) create mode 100644 backends/hostmem-file.c create mode 100644 backends/hostmem-ram.c create mode 100644 backends/hostmem.c create mode 100644 include/sysemu/hostmem.h create mode 100644 numa.c
Signature · 1 line
1.8.5.2.229.g4448466