Hi Alexey, On Fri, 27 Dec 2024 at 04:21, Alexey Kardashevskiy <aik@xxxxxxx> wrote: > > On 14/12/24 03:48, Fuad Tabba wrote: > > Add support for mmap() and fault() for guest_memfd in the host. > > The ability to fault in a guest page is contingent on that page > > being shared with the host. > > > > The guest_memfd PRIVATE memory attribute is not used for two > > reasons. First because it reflects the userspace expectation for > > that memory location, and therefore can be toggled by userspace. > > The second is, although each guest_memfd file has a 1:1 binding > > with a KVM instance, the plan is to allow multiple files per > > inode, e.g. to allow intra-host migration to a new KVM instance, > > without destroying guest_memfd. > > > > The mapping is restricted to only memory explicitly shared with > > the host. KVM checks that the host doesn't have any mappings for > > private memory via the folio's refcount. To avoid races between > > paths that check mappability and paths that check whether the > > host has any mappings (via the refcount), the folio lock is held > > in while either check is being performed. > > > > This new feature is gated with a new configuration option, > > CONFIG_KVM_GMEM_MAPPABLE. > > > > Co-developed-by: Ackerley Tng <ackerleytng@xxxxxxxxxx> > > Signed-off-by: Ackerley Tng <ackerleytng@xxxxxxxxxx> > > Co-developed-by: Elliot Berman <quic_eberman@xxxxxxxxxxx> > > Signed-off-by: Elliot Berman <quic_eberman@xxxxxxxxxxx> > > Signed-off-by: Fuad Tabba <tabba@xxxxxxxxxx> > > > > --- > > The functions kvm_gmem_is_mapped(), kvm_gmem_set_mappable(), and > > int kvm_gmem_clear_mappable() are not used in this patch series. > > They are intended to be used in future patches [*], which check > > and toggle mapability when the guest shares/unshares pages with > > the host. > > > > [*] https://android-kvm.googlesource.com/linux/+/refs/heads/tabba/guestmem-6.13-v4-pkvm > > This one requires access, can you please push it somewhere public? I am > interested in in-place shared<->private memory conversion and I wonder > if kvm_gmem_set_mappable() that guy. Thanks, Sorry for the late reply, I was away, and sorry for the broken link, I'd forgotten to push. Could you try now? https://android-kvm.googlesource.com/linux/+/refs/heads/tabba/guestmem-6.13-v4-pkvm Thanks, /fuad > -- > Alexey >