qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH V2 01/11] machine: alloc-anon option


From: Steven Sistare
Subject: Re: [PATCH V2 01/11] machine: alloc-anon option
Date: Thu, 18 Jul 2024 11:43:54 -0400
User-agent: Mozilla Thunderbird

On 7/17/2024 3:24 PM, Peter Xu wrote:
[...]

PS to Steve: and I think I left tons of other comments in previous version
outside this patch too, but I don't think they're fully discussed when this
series was sent.  I can re-read the series again, but I don't think it'll
work out if we keep skipping discussions..

Hi Peter, let me address this part first, because I don't want you to think
that I ignored your questions and concerns.  This V2 series tries to address
them.  The change log was intended to be my response, rather than responding
to each open question individually, but let me try again here with more detail.
I apologize if I don't summarize your concerns correctly or completely.

issue: discomfort with exec. why is it needed?
response: exec is just a transport mechanism to send fd's to new qemu.
  I refactored to separate core patches from exec-specific patches, submitted
  cpr-transfer patches to illustrate a non-exec method, and provided reasons
  why one vs the other would be desirable in the commit messages and cover
  letter.

issue: why do we need to preserve the ramblock fields and make them available
  prior to object creation?
response.  we don't need to preserve all of them, and we only need fd prior
  to object creation, so I deleted the precreate, factory, and named object
  patches, and added CprState to preserve fd's. used_length arrives in the
  normal migration stream.  max_length is recovered from the mfd using lseek.

issue: the series is too large, with too much change.
response: in addition to the deletions mentioned above, I simplified the
  functionality and tossed out style patches and nice-to-haves, so we can
  focus on core functionality.  V2 is much smaller.

issue: memfd_create option is oddly expressed and hard to understand.
response: I redefined the option, deleted all the stylistic ramblock patches
  to lay its workings bare, and explicitly documented its affect on all types
  of memory in the commit messages and qapi documentation.

issue: no need to preserve blocks like ROM for DMA (with memfd_create).
  Blocks that must be preserved should be surfaced to the user as objects.
response: I disagree, and will continue that conversation in this email thread.

issue: how will vfio be handled?
response: I submitted the vfio patches (non-trivial, because first I had to
  rework them without using precreate vmstate).

issue: how will fd's be preserved for chardevs?
response: via cpr_save_fd, CprState, and cpr_load_fd at device creation time,
  in each device's creation function, just like vfio.  Those primitives are
  defined in this V2 series.

- Steve



reply via email to

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