qemu-devel
[Top][All Lists]
Advanced

[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.
>
> [...]




reply via email to

[Prev in Thread] Current Thread [Next in Thread]