Skip to content
Snippets Groups Projects
  1. Mar 02, 2018
  2. Mar 01, 2018
  3. Feb 19, 2018
    • Marcel Apfelbaum's avatar
      mem: add share parameter to memory-backend-ram · 06329cce
      Marcel Apfelbaum authored
      
      Currently only file backed memory backend can
      be created with a "share" flag in order to allow
      sharing guest RAM with other processes in the host.
      
      Add the "share" flag also to RAM Memory Backend
      in order to allow remapping parts of the guest RAM
      to different host virtual addresses. This is needed
      by the RDMA devices in order to remap non-contiguous
      QEMU virtual addresses to a contiguous virtual address range.
      
      Moved the "share" flag to the Host Memory base class,
      modified phys_mem_alloc to include the new parameter
      and a new interface memory_region_init_ram_shared_nomigrate.
      
      There are no functional changes if the new flag is not used.
      
      Reviewed-by: default avatarEduardo Habkost <ehabkost@redhat.com>
      Signed-off-by: default avatarMarcel Apfelbaum <marcel@redhat.com>
      06329cce
  4. Feb 09, 2018
  5. Feb 07, 2018
    • Marc-André Lureau's avatar
      Add memfd based hostmem · dbb9e0f4
      Marc-André Lureau authored
      
      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.
      
      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.
      
      Since 4.14, memfd allows to set hugetlb requirement explicitly.
      
      Pending for merge in 4.16 is memfd sealing support for hugetlb backed
      memory.
      
      Usage:
      -object memory-backend-memfd,id=mem1,size=1G
      
      Signed-off-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      Message-Id: <20180201132757.23063-5-marcandre.lureau@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      dbb9e0f4
  6. Jan 29, 2018
  7. Jan 19, 2018
    • Haozhong Zhang's avatar
      hostmem-file: add "align" option · 98376843
      Haozhong Zhang authored
      
      When mmap(2) the backend files, QEMU uses the host page size
      (getpagesize(2)) by default as the alignment of mapping address.
      However, some backends may require alignments different than the page
      size. For example, mmap a device DAX (e.g., /dev/dax0.0) on Linux
      kernel 4.13 to an address, which is 4K-aligned but not 2M-aligned,
      fails with a kernel message like
      
      [617494.969768] dax dax0.0: qemu-system-x86: dax_mmap: fail, unaligned vma (0x7fa37c579000 - 0x7fa43c579000, 0x1fffff)
      
      Because there is no common approach to get such alignment requirement,
      we add the 'align' option to 'memory-backend-file', so that users or
      management utils, which have enough knowledge about the backend, can
      specify a proper alignment via this option.
      
      Signed-off-by: default avatarHaozhong Zhang <haozhong.zhang@intel.com>
      Message-Id: <20171211072806.2812-2-haozhong.zhang@intel.com>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      [ehabkost: fixed typo, fixed error_setg() format string]
      Signed-off-by: default avatarEduardo Habkost <ehabkost@redhat.com>
      98376843
  8. Dec 15, 2017
  9. Oct 19, 2017
  10. Oct 13, 2017
  11. Sep 19, 2017
  12. Sep 04, 2017
  13. Sep 01, 2017
  14. Jul 14, 2017
  15. Jul 11, 2017
Loading