[Qemu-devel] [PATCH v5 0/6] Add memfd memory backend

Marc-André Lureau posted 6 patches 6 years, 6 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20171023095910.23202-1-marcandre.lureau@redhat.com
Test checkpatch passed
Test docker passed
Test s390x passed
There is a newer version of this series
include/qemu/memfd.h     |   4 +-
backends/hostmem-memfd.c | 124 +++++++++++++++++++++++++++++++++++++++++++++++
hw/virtio/vhost.c        |   8 ++-
tests/vhost-user-test.c  |  70 ++++++++++++++++----------
util/memfd.c             | 101 ++++++++++++++++++++++----------------
backends/Makefile.objs   |   2 +
qemu-options.hx          |  15 ++++++
7 files changed, 256 insertions(+), 68 deletions(-)
create mode 100644 backends/hostmem-memfd.c
[Qemu-devel] [PATCH v5 0/6] Add memfd memory backend
Posted by Marc-André Lureau 6 years, 6 months ago
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.

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 (6):
  memfd: split qemu_memfd_alloc()
  memfd: remove needless include
  memfd: add error argument, instead of perror()
  memfd: add hugetlb support
  Add memfd based hostmem
  tests: use memfd in vhost-user-test

 include/qemu/memfd.h     |   4 +-
 backends/hostmem-memfd.c | 124 +++++++++++++++++++++++++++++++++++++++++++++++
 hw/virtio/vhost.c        |   8 ++-
 tests/vhost-user-test.c  |  70 ++++++++++++++++----------
 util/memfd.c             | 101 ++++++++++++++++++++++----------------
 backends/Makefile.objs   |   2 +
 qemu-options.hx          |  15 ++++++
 7 files changed, 256 insertions(+), 68 deletions(-)
 create mode 100644 backends/hostmem-memfd.c

-- 
2.15.0.rc0.40.gaefcc5f6f