On 23.07.25 14:19, Albert Esteve wrote:
In the last version of the SHMEM MAP/UNMAP [1] there was a
comment [2] from Stefan about the lifecycle of the memory
regions.

After some discussion, David Hildenbrand proposed
to detect RAM regions and handle refcounting differently
to clear the initial concern. This RFC patch is
meant for gathering feedback from others
(i.e., Paolo Bonzini and Peter Xu).

[1] https://patchwork.ozlabs.org/project/qemu-devel/list/?series=460121
[2] https://patchwork.ozlabs.org/comment/3528600/

---

This patch enhances memory_region_ref() and memory_region_unref()
to handle RAM and MMIO memory regions differently, improving
reference counting semantics.

RAM regions now reference/unreference the memory region object
itself, while MMIO continue to reference/unreference the owner
device as before.

An additional qtest has been added to stress the memory
lifecycle. All tests pass as these changes keep backward
compatibility (prior behaviour is kept for MMIO regions).

Signed-off-by: David Hildenbrand <da...@redhat.com >
Signed-off-by: Albert Esteve <aest...@redhat.com>
---
  system/memory.c            | 22 +++++++++++++----
  tests/qtest/ivshmem-test.c | 50 ++++++++++++++++++++++++++++++++++++++
  2 files changed, 67 insertions(+), 5 deletions(-)

Did we discuss extending the doc as well, to clarify which scenario is now supported?

--
Cheers,

David / dhildenb


Reply via email to