On 27/5/25 15:47, Chenyi Qiang wrote:


On 5/26/2025 5:08 PM, David Hildenbrand wrote:
On 20.05.25 12:28, Chenyi Qiang wrote:
As guest_memfd is now managed by RamBlockAttribute with
RamDiscardManager, only block uncoordinated discard.

Signed-off-by: Chenyi Qiang <chenyi.qi...@intel.com>
---
Changes in v5:
      - Revert to use RamDiscardManager.

Changes in v4:
      - Modify commit message (RamDiscardManager->PrivateSharedManager).

Changes in v3:
      - No change.

Changes in v2:
      - Change the ram_block_discard_require(false) to
        ram_block_coordinated_discard_require(false).
---
   system/physmem.c | 6 +++---
   1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/system/physmem.c b/system/physmem.c
index f05f7ff09a..58b7614660 100644
--- a/system/physmem.c
+++ b/system/physmem.c
@@ -1916,7 +1916,7 @@ static void ram_block_add(RAMBlock *new_block,
Error **errp)
           }
           assert(new_block->guest_memfd < 0);
   -        ret = ram_block_discard_require(true);
+        ret = ram_block_coordinated_discard_require(true);
           if (ret < 0) {
               error_setg_errno(errp, -ret,
                                "cannot set up private guest memory:
discard currently blocked");
@@ -1939,7 +1939,7 @@ static void ram_block_add(RAMBlock *new_block,
Error **errp)
                * ever develops a need to check for errors.
                */
               close(new_block->guest_memfd);
-            ram_block_discard_require(false);
+            ram_block_coordinated_discard_require(false);
               qemu_mutex_unlock_ramlist();
               goto out_free;
           }
@@ -2302,7 +2302,7 @@ static void reclaim_ramblock(RAMBlock *block)
       if (block->guest_memfd >= 0) {
           ram_block_attribute_destroy(block->ram_shared);
           close(block->guest_memfd);
-        ram_block_discard_require(false);
+        ram_block_coordinated_discard_require(false);
       }
         g_free(block);


I think this patch should be squashed into the previous one, then the
story in that single patch is consistent.

I think this patch is a gate to allow device assignment with guest_memfd
and want to make it separately.

It is not good for bisecability - whatever problem 06/10 may have - git bisect 
will point to this one.
And it is confusing when within the same patchset lines are added and then 
removed.
And 06/10 (especially after removing LiveMigration checks) and 07/10 are too 
small and too related to separate. Thanks,

Can we instead add some commit message
in previous one? like:

"Using guest_memfd with vfio is still blocked via
ram_block_discard_disable()/ram_block_discard_require()."




--
Alexey


Reply via email to