Cheers, /fuad > I.e. focus on justifying the change from a design and conceptual perspective, > not from a mechanical perspective of a flow that likely's somewhat unique to our > specific environment. Y'all are getting deep into the weeds on a random aspect > of x86 platform architecture, instead of focusing on the overall design. > > The other issue that's likely making this more confusing than it needs to be is > that this series is actually two completely different series bundled into one, > with very little explanation. Moving shared vs. private ownership into > guest_memfd isn't a requirement for 1GiB support, it's a requirement for in-place > shared/private conversion in guest_memfd. > > For the current guest_memfd implementation, shared vs. private is tracked in the > VM via memory attributes, because a guest_memfd instance is *only* private. I.e. > shared vs. private is a property of the VM, not of the guest_memfd instance. But > when in-place conversion support comes along, ownership of that particular > attribute needs to shift to the guest_memfd instance. > > I know I gave feedback on earlier posting about there being too series flying > around, but shoving two distinct concepts into a single series is not the answer. > My complaints about too much noise wasn't that there were multiple series, it was > that there was very little coordination and lots of chaos. > > If you split this series in two, which should be trivial since you've already > organized the patches as a split, then sans the selftests (thank you for those!), > in-place conversion support will be its own (much smaller!) series that can focus > on that specific aspect of the design, and can provide a cover letter that > expounds on the design goals and uAPI. > > KVM: guest_memfd: Add CAP KVM_CAP_GMEM_CONVERSION > KVM: Query guest_memfd for private/shared status > KVM: guest_memfd: Skip LRU for guest_memfd folios > KVM: guest_memfd: Introduce KVM_GMEM_CONVERT_SHARED/PRIVATE ioctls > KVM: guest_memfd: Introduce and use shareability to guard faulting > KVM: guest_memfd: Make guest mem use guest mem inodes instead of anonymous inodes > > And then you can post the 1GiB series separately. So long as you provide pointers > to dependencies along with a link to a repo+branch with the kitchen sink, I won't > complain about things being too chaotic :-)