)]}'
{
  "commit": "2fde3fb916079ee0ff0fc26d9446c813b1d5cc28",
  "tree": "27ffec7704fa6ab01c8b84de5b705d65855274af",
  "parents": [
    "5d6483edaa9232d8f3709f68c8eab4bc2033fb70"
  ],
  "author": {
    "name": "Chenyi Qiang",
    "email": "chenyi.qiang@intel.com",
    "time": "Thu Jun 12 16:27:46 2025 +0800"
  },
  "committer": {
    "name": "Peter Xu",
    "email": "peterx@redhat.com",
    "time": "Mon Jun 23 16:03:59 2025 -0400"
  },
  "message": "physmem: Support coordinated discarding of RAM with guest_memfd\n\nA new field, attributes, was introduced in RAMBlock to link to a\nRamBlockAttributes object, which centralizes all guest_memfd related\ninformation (such as fd and status bitmap) within a RAMBlock.\n\nCreate and initialize the RamBlockAttributes object upon ram_block_add().\nMeanwhile, register the object in the target RAMBlock\u0027s MemoryRegion.\nAfter that, guest_memfd-backed RAMBlock is associated with the\nRamDiscardManager interface, and the users can execute RamDiscardManager\nspecific handling. For example, VFIO will register the\nRamDiscardListener and get notifications when the state_change() helper\ninvokes.\n\nAs coordinate discarding of RAM with guest_memfd is now supported, only\nblock uncoordinated discard.\n\nTested-by: Alexey Kardashevskiy \u003caik@amd.com\u003e\nReviewed-by: Alexey Kardashevskiy \u003caik@amd.com\u003e\nAcked-by: David Hildenbrand \u003cdavid@redhat.com\u003e\nSigned-off-by: Chenyi Qiang \u003cchenyi.qiang@intel.com\u003e\nLink: https://lore.kernel.org/r/20250612082747.51539-6-chenyi.qiang@intel.com\nSigned-off-by: Peter Xu \u003cpeterx@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a31778341c2ae324c9707c1c5d9ed3ec285acd10",
      "old_mode": 33188,
      "old_path": "accel/kvm/kvm-all.c",
      "new_id": "d095d1b98f8685f865cf7b49c6f02b80f6cb011b",
      "new_mode": 33188,
      "new_path": "accel/kvm/kvm-all.c"
    },
    {
      "type": "modify",
      "old_id": "1bab9e2dacea5d78d4de20411672996b3a5e30e4",
      "old_mode": 33188,
      "old_path": "include/system/ramblock.h",
      "new_id": "87e847e184aa496cae019fc246a7f7a0ddf4c65a",
      "new_mode": 33188,
      "new_path": "include/system/ramblock.h"
    },
    {
      "type": "modify",
      "old_id": "a8a9ca309eaccb8e4a3e7b8c12fff14e0f8a512b",
      "old_mode": 33188,
      "old_path": "system/physmem.c",
      "new_id": "ff0ca40222d3471f746632a21195dab1783e8345",
      "new_mode": 33188,
      "new_path": "system/physmem.c"
    }
  ]
}
