All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v1 00/11] pc-dimm: next bunch of cleanups
@ 2018-06-11 12:16 David Hildenbrand
  2018-06-11 12:16 ` [Qemu-devel] [PATCH v1 01/11] pc-dimm: remove leftover "struct pc_dimms_capacity" David Hildenbrand
                   ` (11 more replies)
  0 siblings, 12 replies; 55+ messages in thread
From: David Hildenbrand @ 2018-06-11 12:16 UTC (permalink / raw)
  To: qemu-devel
  Cc: qemu-ppc, Eduardo Habkost, Igor Mammedov, Michael S . Tsirkin,
	Marcel Apfelbaum, Paolo Bonzini, Richard Henderson,
	Xiao Guangrong, David Gibson, Alexander Graf, David Hildenbrand

This is another set of cleanups as the result from
    [PATCH v4 00/14] MemoryDevice: use multi stage hotplug handlers
And is based on the two series
    [PATCH v1 0/2] memory: fix alignment checks/asserts
    [PATCH v2 0/6] spapr: machine hotplug handler cleanups

These cleanup are the last step before factoring out the
pre_plug, plug and unplug logic of memory devices completely, to make it
more independent from pc-dimm.

But these patches will already try to make an important point: Assigning
physical addresses of memory devices will not be done in pre_plug but
during plug. Other properties, like the "slot" property, however can be
handled during pre_plug and is done in this patch series, because they
don't realy on the device to be realized.

Igor proposed to move all property checks + assigmnets to the pre_plug
stage. Hovewer for determining a physical address of a memory device, we
need to know the exact size and the alignment of the underlying memory
region.

This region might not be available and initialized before the device has
been realized (e.g. for NVDIMM). So my point is: Accessing derived
"properties" ("memory region" set up based on "memdev" property and maybe
others e.g. for NVDIMM) via device class functions should not be done
before the device has been realized. These functions should not be
called during pre_plug.

Enforcing this, already leads to sime nice cleanup numbers in pc-dimm
code.

David Hildenbrand (11):
  pc-dimm: remove leftover "struct pc_dimms_capacity"
  nvdimm: no need to overwrite get_vmstate_memory_region()
  pc: factor out pc-dimm checks into pc_dimm_pre_plug()
  hostmem: drop error variable from host_memory_backend_get_memory()
  spapr: move memory hotplug size check into plug code
  pc-dimm: don't allow to access "size" before the device was realized
  pc-dimm: get_memory_region() can never fail
  pc-dimm: get_memory_region() will never return a NULL pointer
  pc-dimm: remove pc_dimm_get_vmstate_memory_region()
  pc-dimm: introduce and use pc_dimm_memory_pre_plug()
  pc-dimm: assign and verify the "slot" property during pre_plug

 backends/hostmem.c       |  3 +-
 hw/i386/pc.c             | 53 ++++++++++++++------------
 hw/mem/nvdimm.c          | 12 ++----
 hw/mem/pc-dimm.c         | 82 +++++++++++++++-------------------------
 hw/misc/ivshmem.c        |  3 +-
 hw/ppc/spapr.c           | 36 +++++-------------
 include/hw/mem/pc-dimm.h |  6 ++-
 include/sysemu/hostmem.h |  3 +-
 numa.c                   |  3 +-
 9 files changed, 81 insertions(+), 120 deletions(-)

-- 
2.17.1

^ permalink raw reply	[flat|nested] 55+ messages in thread

end of thread, other threads:[~2018-06-15 10:59 UTC | newest]

Thread overview: 55+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-11 12:16 [Qemu-devel] [PATCH v1 00/11] pc-dimm: next bunch of cleanups David Hildenbrand
2018-06-11 12:16 ` [Qemu-devel] [PATCH v1 01/11] pc-dimm: remove leftover "struct pc_dimms_capacity" David Hildenbrand
2018-06-12  0:21   ` David Gibson
2018-06-13  9:23   ` Igor Mammedov
2018-06-11 12:16 ` [Qemu-devel] [PATCH v1 02/11] nvdimm: no need to overwrite get_vmstate_memory_region() David Hildenbrand
2018-06-12  0:22   ` David Gibson
2018-06-13  9:39   ` Igor Mammedov
2018-06-11 12:16 ` [Qemu-devel] [PATCH v1 03/11] pc: factor out pc-dimm checks into pc_dimm_pre_plug() David Hildenbrand
2018-06-12  0:28   ` David Gibson
2018-06-13 10:07   ` Igor Mammedov
2018-06-11 12:16 ` [Qemu-devel] [PATCH v1 04/11] hostmem: drop error variable from host_memory_backend_get_memory() David Hildenbrand
2018-06-12  0:49   ` David Gibson
2018-06-13 10:13   ` Igor Mammedov
2018-06-11 12:16 ` [Qemu-devel] [PATCH v1 05/11] spapr: move memory hotplug size check into plug code David Hildenbrand
2018-06-12  1:02   ` David Gibson
2018-06-13 11:01   ` Igor Mammedov
2018-06-13 11:05     ` David Hildenbrand
2018-06-13 13:57       ` Igor Mammedov
2018-06-14  7:10         ` David Hildenbrand
2018-06-11 12:16 ` [Qemu-devel] [PATCH v1 06/11] pc-dimm: don't allow to access "size" before the device was realized David Hildenbrand
2018-06-12  1:08   ` David Gibson
2018-06-13 12:56   ` Igor Mammedov
2018-06-13 14:03     ` David Hildenbrand
2018-06-13 21:33       ` Eduardo Habkost
2018-06-14 13:02         ` Igor Mammedov
2018-06-14 13:24       ` Igor Mammedov
2018-06-14 14:10         ` David Hildenbrand
2018-06-15  9:16           ` Igor Mammedov
2018-06-15  9:25             ` David Hildenbrand
2018-06-15 10:06               ` Igor Mammedov
2018-06-11 12:16 ` [Qemu-devel] [PATCH v1 07/11] pc-dimm: get_memory_region() can never fail David Hildenbrand
2018-06-12  1:10   ` David Gibson
2018-06-13 13:03   ` Igor Mammedov
2018-06-13 14:07     ` David Hildenbrand
2018-06-13 14:50       ` David Hildenbrand
2018-06-14 15:00         ` Igor Mammedov
2018-06-14 15:11           ` David Hildenbrand
2018-06-15  9:59             ` Igor Mammedov
2018-06-15 10:29               ` David Hildenbrand
2018-06-11 12:16 ` [Qemu-devel] [PATCH v1 08/11] pc-dimm: get_memory_region() will never return a NULL pointer David Hildenbrand
2018-06-12  1:12   ` David Gibson
2018-06-11 12:16 ` [Qemu-devel] [PATCH v1 09/11] pc-dimm: remove pc_dimm_get_vmstate_memory_region() David Hildenbrand
2018-06-12  1:29   ` David Gibson
2018-06-11 12:16 ` [Qemu-devel] [PATCH v1 10/11] pc-dimm: introduce and use pc_dimm_memory_pre_plug() David Hildenbrand
2018-06-12  1:48   ` David Gibson
2018-06-13 13:10   ` Igor Mammedov
2018-06-13 14:15     ` David Hildenbrand
2018-06-15  9:34       ` Igor Mammedov
2018-06-15  9:48         ` David Hildenbrand
2018-06-15 10:01           ` Igor Mammedov
2018-06-11 12:16 ` [Qemu-devel] [PATCH v1 11/11] pc-dimm: assign and verify the "slot" property during pre_plug David Hildenbrand
2018-06-12  2:02   ` David Gibson
2018-06-13 13:34 ` [Qemu-devel] [PATCH v1 00/11] pc-dimm: next bunch of cleanups Igor Mammedov
2018-06-13 14:11   ` David Hildenbrand
2018-06-15 10:59     ` David Hildenbrand

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.