[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH V4 04/19] machine: aux-ram-share option
From: |
Markus Armbruster |
Subject: |
Re: [PATCH V4 04/19] machine: aux-ram-share option |
Date: |
Thu, 05 Dec 2024 13:19:39 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Markus Armbruster <armbru@redhat.com> writes:
> Steve Sistare <steven.sistare@oracle.com> writes:
>
>> Allocate auxilliary guest RAM as an anonymous file that is shareable
>> with an external process. This option applies to memory allocated as
>> a side effect of creating various devices. It does not apply to
>> memory-backend-objects, whether explicitly specified on the command
>> line, or implicitly created by the -m command line option.
>>
>> This 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.
>>
>> Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
>
> [...]
>
>> diff --git a/qemu-options.hx b/qemu-options.hx
>> index dacc979..02b9118 100644
>> --- a/qemu-options.hx
>> +++ b/qemu-options.hx
>> @@ -38,6 +38,9 @@ DEF("machine", HAS_ARG, QEMU_OPTION_machine, \
>> " nvdimm=on|off controls NVDIMM support (default=off)\n"
>> " memory-encryption=@var{} memory encryption object to
>> use (default=none)\n"
>> " hmat=on|off controls ACPI HMAT support (default=off)\n"
>> +#ifdef CONFIG_POSIX
>> + " aux-ram-share=on|off allocate auxiliary guest RAM as
>> shared (default: off)\n"
>> +#endif
>> " memory-backend='backend-id' specifies explicitly
>> provided backend for main RAM (default=none)\n"
>> "
>> cxl-fmw.0.targets.0=firsttarget,cxl-fmw.0.targets.1=secondtarget,cxl-fmw.0.size=size[,cxl-fmw.0.interleave-granularity=granularity]\n",
>> QEMU_ARCH_ALL)
>> @@ -101,6 +104,18 @@ SRST
>> Enables or disables ACPI Heterogeneous Memory Attribute Table
>> (HMAT) support. The default is off.
>>
>> +#ifdef CONFIG_POSIX
>> + ``aux-ram-share=on|off``
>> + Allocate auxiliary guest RAM as an anonymous file that is
>> + shareable with an external process. This option applies to
>> + memory allocated as a side effect of creating various devices.
>> + It does not apply to memory-backend-objects, whether explicitly
>> + specified on the command line, or implicitly created by the -m
>> + command line option.
>> +
>> + Some migration modes require aux-ram-share=on.
>> +#endif
>> +
>
> I get
>
> Warning, treated as error:
> .../qemu-options.hx:117:Definition list ends without a blank line;
> unexpected unindent.
>
> Putting the blank line before #endif works for me.
Actually, #ifdef does not work within SRST ... ERST.
Elsewhere, we document build-time optional features unconditionally.
Simply drop the #ifdef here.
>> ``memory-backend='id'``
>> An alternative to legacy ``-mem-path`` and ``mem-prealloc`` options.
>> Allows to use a memory backend as main RAM.
>
> [...]
[PATCH V4 14/19] migration: cpr-transfer mode, Steve Sistare, 2024/12/02
[PATCH V4 15/19] tests/migration-test: memory_backend, Steve Sistare, 2024/12/02
[PATCH V4 13/19] migration: cpr-transfer save and load, Steve Sistare, 2024/12/02