Hi On Mon, Oct 23, 2017 at 4:18 PM, Marc-André Lureau <marcandre.lur...@redhat.com> wrote: > Add a new Linux-specific memory backend, similar to hostmem-file, > except that it doesn't need file path. It also try to enforce memory > sealing if available. It is thus slightly easier and secure, and is > compatible with transparent huge-pages since Linux 4.8. > > Since Linux 4.14, memfd supports explicit hugetlb, however without > sealing.
A little update here, 4.16 is likely to support sealing with hugetlb too (patches are in -mm tree). This should make memfd the prefered backend for sharing memory with a vhost-user backend. please review. thanks > > v6: > - add hugetlbsize option > - run vhost-user read-guest-mem test with memfile & memfd backend > > v5: > - add memfd hugetlb support > - add seal and hugeltb options to memfd memory backend > - update qemu-option to explain sharing works with vhost-user for now > - rebased, misc code changes > > v4: > - rebased, now that preliminary patches are merged > > v3: > - make vhost-user-test use memfd only if possible > - rebased > > v1->v2: > - make it linux-specific > - minor changes and commit message tweaks > > Marc-André Lureau (9): > memfd: split qemu_memfd_alloc() > memfd: remove needless include > memfd: add error argument, instead of perror() > memfd: add hugetlb support > memfd: add hugetlbsize argument > Add memfd based hostmem > tests: keep compiling failing vhost-user tests > vhost-user-test: make read-guest-mem setup its own qemu > tests: use memfd in vhost-user-test > > include/qemu/memfd.h | 4 +- > backends/hostmem-memfd.c | 168 > +++++++++++++++++++++++++++++++++++++++++++++++ > hw/virtio/vhost.c | 8 ++- > tests/vhost-user-test.c | 160 +++++++++++++++++++++++++++----------------- > util/memfd.c | 115 ++++++++++++++++++++------------ > backends/Makefile.objs | 2 + > qemu-options.hx | 23 +++++++ > 7 files changed, 378 insertions(+), 102 deletions(-) > create mode 100644 backends/hostmem-memfd.c > > -- > 2.15.0.rc0.40.gaefcc5f6f > > -- Marc-André Lureau