On Tue, Jun 27, 2017 at 08:23:03AM +0000, Marc-André Lureau wrote: > Hi Eduardo > > On Fri, Jun 23, 2017 at 11:09 PM Eduardo Habkost <ehabk...@redhat.com> > wrote: > > > On Wed, Jun 21, 2017 at 04:02:18PM +0200, Marc-André Lureau wrote: > > > Add a new memory backend, similar to hostmem-file, except that it > > > doesn't need to create files. It also enforces memory sealing. > > > > > > This backend is mainly useful for sharing the memory with other > > > processes. > > > > How exactly can the memfd be used to share memory? Is there an existing > > mechanism for sharing the memfd file descriptor with another process > > > > Since there is no backing file, the traditional mechanism is by passing fd, > via socket ancillary data or forking etc.. Both ivshmem and vhost-user have > such messages, with eventually details for the memory map usage.
The documentation is very similar to memory-backend-file, so it sounded like there was a generic mechanism to ask QEMU to share the backend FD. Maybe it would be interesting to mention on which cases the FD can actually be shared. Are ivshmem and vhost-user the only existing cases? > > > > > > > > Note that Linux supports transparent huge-pages of shmem/memfd memory > > > since 4.8. It is relatively easier to set up THP than a dedicate > > > hugepage mount point by using "madvise" in > > > /sys/kernel/mm/transparent_hugepage/shmem_enabled. > > > > > > Usage: > > > -object memory-backend-memfd,id=mem1,size=1G > > > > > > Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> > > > --- > > > backends/hostmem-memfd.c | 67 > > ++++++++++++++++++++++++++++++++++++++++++++++++ > > > backends/Makefile.objs | 2 ++ > > > qemu-options.hx | 11 ++++++++ > > > 3 files changed, 80 insertions(+) > > > create mode 100644 backends/hostmem-memfd.c > > > > > [...] > > > > -- > > Eduardo > > > > -- > Marc-André Lureau -- Eduardo