Steve Sistare <steven.sist...@oracle.com> writes: > Allocate anonymous memory using mmap MAP_ANON or memfd_create depending > on the value of the anon-alloc machine property. This affects > memory-backend-ram objects, guest RAM created with the global -m option > but without an associated memory-backend object and without the -mem-path > option, and various memory regions such as ROMs that are allocated when > devices are created. This option does not affect memory-backend-file, > memory-backend-memfd, or memory-backend-epc objects. > > The memfd option is intended to support new migration modes, in which the > memory region can be transferred in place to a new QEMU process, by sending > the memfd file descriptor to the process. Memory contents are preserved, > and if the mode also transfers device descriptors, then pages that are > locked in memory for DMA remain locked. This behavior is a pre-requisite > for supporting vfio, vdpa, and iommufd devices with the new modes. > > To access the same memory in the old and new QEMU processes, the memory > must be mapped shared. Therefore, the implementation always sets > RAM_SHARED if alloc-anon=memfd, except for memory-backend-ram, where the > user must explicitly specify the share option. In lieu of defining a new > RAM flag, at the lowest level the implementation uses RAM_SHARED with fd=-1 > as the condition for calling memfd_create. > > Signed-off-by: Steve Sistare <steven.sist...@oracle.com>
The commit message is inconsistent with alloc-anon, anon-alloc. Reviewed-by: Fabiano Rosas <faro...@suse.de>