You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qemu/accel
Chenyi Qiang 2fde3fb916 physmem: Support coordinated discarding of RAM with guest_memfd
A new field, attributes, was introduced in RAMBlock to link to a
RamBlockAttributes object, which centralizes all guest_memfd related
information (such as fd and status bitmap) within a RAMBlock.

Create and initialize the RamBlockAttributes object upon ram_block_add().
Meanwhile, register the object in the target RAMBlock's MemoryRegion.
After that, guest_memfd-backed RAMBlock is associated with the
RamDiscardManager interface, and the users can execute RamDiscardManager
specific handling. For example, VFIO will register the
RamDiscardListener and get notifications when the state_change() helper
invokes.

As coordinate discarding of RAM with guest_memfd is now supported, only
block uncoordinated discard.

Tested-by: Alexey Kardashevskiy <aik@amd.com>
Reviewed-by: Alexey Kardashevskiy <aik@amd.com>
Acked-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Chenyi Qiang <chenyi.qiang@intel.com>
Link: https://lore.kernel.org/r/20250612082747.51539-6-chenyi.qiang@intel.com
Signed-off-by: Peter Xu <peterx@redhat.com>
5 days ago
..
hvf accel/hvf: Fix TYPE_HVF_ACCEL instance size 3 weeks ago
kvm physmem: Support coordinated discarding of RAM with guest_memfd 5 days ago
qtest qom: Have class_init() take a const data argument 2 months ago
stubs system/hvf: Expose hvf_enabled() to common code 2 months ago
tcg * target/i386/kvm: Intel TDX support 4 weeks ago
xen qom: Have class_init() take a const data argument 2 months ago
Kconfig hw/xen: Link XenPVH with GPEX PCIe bridge 4 months ago
accel-blocker.c include: Rename sysemu/ -> system/ 6 months ago
accel-common.c accel: Move target-agnostic code from accel-target.c -> accel-common.c 2 months ago
accel-internal.h accel: Include missing 'qemu/accel.h' header in accel-internal.h 2 months ago
accel-system.c accel: Implement accel_init_ops_interfaces() for both system/user mode 2 months ago
accel-target.c accel: Move target-agnostic code from accel-target.c -> accel-common.c 2 months ago
accel-user.c accel: Implement accel_init_ops_interfaces() for both system/user mode 2 months ago
dummy-cpus.c include: Rename sysemu/ -> system/ 6 months ago
meson.build accel: Move target-agnostic code from accel-target.c -> accel-common.c 2 months ago