qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [RFC PATCH 00/13] "Light" memory region QOMification
@ 2014-06-11 12:19 Paolo Bonzini
  2014-06-11 12:19 ` [Qemu-devel] [RFC PATCH 01/13] qom: object: Ignore refs/unrefs of NULL Paolo Bonzini
                   ` (13 more replies)
  0 siblings, 14 replies; 34+ messages in thread
From: Paolo Bonzini @ 2014-06-11 12:19 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.crosthwaite, afaerber

This series is an approach to MemoryRegion QOMification that is
complementary to Peter's posted patches.  Instead of focusing on
properties, it places attention on modeling the lifetime of memory
regions correctly.  MemoryRegions are added to the QOM tree as
children of their owner device, and analogously to what was done
for devices, memory_region_destroy becomes a simple forwarder for
object_unparent.  Still, I am including Peter's refactorings and
also read-only access to region properties.

In fact, with this change memory_region_destroy becomes mostly
obsolete, because when the owner dies the children memory regions
will be unparented themselves and then (as they lose the last ref)
finalized.

In other words, this effectively achieves the same as
http://lists.gnu.org/archive/html/qemu-devel/2013-09/msg00477.html
except it does this by way of removing code rather than adding it!
Indeed I have a follow-up that drops all but 7 calls to
memory_region_destroy.

I have already applied patches 5 and 6 to the memory branch.


Paolo Bonzini (5):
  qom: move unparenting to the child property's release callback
  qom: delete properties before calling instance_finalize
  memory: MemoryRegion: use /machine as default owner
  memory: MemoryRegion: rename parent to container
  memory: MemoryRegion: replace owner field with QOM parent

Peter Crosthwaite (8):
  qom: object: Ignore refs/unrefs of NULL
  qom: object: remove parent pointer when unparenting
  memory: MemoryRegion: factor out subregion add functionality
  memory: MemoryRegion: factor out memory region re-adder
  memory: MemoryRegion: QOMify
  memory: MemoryRegion: Add container and addr props
  memory: MemoryRegion: Add may-overlap and priority props
  memory: MemoryRegion: Add size property

 exec.c                |   4 +-
 include/exec/memory.h |  29 +++---
 memory.c              | 255 ++++++++++++++++++++++++++++++++++++++++----------
 qom/object.c          |  29 +++---
 4 files changed, 235 insertions(+), 82 deletions(-)

-- 
1.8.3.1

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

end of thread, other threads:[~2014-06-25  9:47 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-11 12:19 [Qemu-devel] [RFC PATCH 00/13] "Light" memory region QOMification Paolo Bonzini
2014-06-11 12:19 ` [Qemu-devel] [RFC PATCH 01/13] qom: object: Ignore refs/unrefs of NULL Paolo Bonzini
2014-06-11 12:19 ` [Qemu-devel] [RFC PATCH 02/13] qom: object: remove parent pointer when unparenting Paolo Bonzini
2014-06-11 12:19 ` [Qemu-devel] [RFC PATCH 03/13] qom: move unparenting to the child property's release callback Paolo Bonzini
2014-06-11 13:35   ` Peter Crosthwaite
2014-06-11 14:01     ` Paolo Bonzini
2014-06-11 14:10       ` Peter Crosthwaite
2014-06-11 12:19 ` [Qemu-devel] [RFC PATCH 04/13] qom: delete properties before calling instance_finalize Paolo Bonzini
2014-06-11 13:42   ` Peter Crosthwaite
2014-06-11 14:03     ` Paolo Bonzini
2014-06-17 12:29       ` Peter Crosthwaite
2014-06-11 12:19 ` [Qemu-devel] [RFC PATCH 05/13] memory: MemoryRegion: factor out subregion add functionality Paolo Bonzini
2014-06-11 12:19 ` [Qemu-devel] [RFC PATCH 06/13] memory: MemoryRegion: factor out memory region re-adder Paolo Bonzini
2014-06-11 12:19 ` [Qemu-devel] [RFC PATCH 07/13] memory: MemoryRegion: use /machine as default owner Paolo Bonzini
2014-06-17 12:24   ` Peter Crosthwaite
2014-06-11 12:19 ` [Qemu-devel] [RFC PATCH 08/13] memory: MemoryRegion: rename parent to container Paolo Bonzini
2014-06-11 13:46   ` Peter Crosthwaite
2014-06-11 12:19 ` [Qemu-devel] [RFC PATCH 09/13] memory: MemoryRegion: QOMify Paolo Bonzini
2014-06-11 13:12   ` Peter Crosthwaite
2014-06-11 14:15     ` Paolo Bonzini
2014-06-11 14:32       ` Peter Crosthwaite
2014-06-11 14:48         ` Paolo Bonzini
2014-06-17 12:17           ` Peter Crosthwaite
2014-06-11 12:19 ` [Qemu-devel] [RFC PATCH 10/13] memory: MemoryRegion: replace owner field with QOM parent Paolo Bonzini
2014-06-11 14:03   ` Peter Crosthwaite
2014-06-11 12:19 ` [Qemu-devel] [RFC PATCH 11/13] memory: MemoryRegion: Add container and addr props Paolo Bonzini
2014-06-11 12:19 ` [Qemu-devel] [RFC PATCH 12/13] memory: MemoryRegion: Add may-overlap and priority props Paolo Bonzini
2014-06-11 12:19 ` [Qemu-devel] [RFC PATCH 13/13] memory: MemoryRegion: Add size property Paolo Bonzini
2014-06-17 12:27 ` [Qemu-devel] [RFC PATCH 00/13] "Light" memory region QOMification Peter Crosthwaite
2014-06-17 12:35   ` Paolo Bonzini
2014-06-17 12:51     ` Peter Crosthwaite
2014-06-17 12:57       ` Paolo Bonzini
2014-06-25  9:45     ` Peter Crosthwaite
2014-06-25  9:47       ` Paolo Bonzini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).