1. 06 3月, 2019 1 次提交
  2. 22 2月, 2019 1 次提交
  3. 29 1月, 2019 1 次提交
  4. 07 1月, 2019 1 次提交
    • M
      hostmem: use object id for memory region name with >= 4.0 · fa0cb34d
      Marc-André Lureau 提交于
      hostmem-file and hostmem-memfd use the whole object path for the
      memory region name, and hostname-ram uses only the path component (the
      object id, or canonical path basename):
      
      qemu -m 1024 -object memory-backend-file,id=mem,size=1G,mem-path=/tmp/foo -numa node,memdev=mem -monitor stdio
      (qemu) info ramblock
                    Block Name    PSize              Offset               Used              Total
                  /objects/mem    4 KiB  0x0000000000000000 0x0000000040000000 0x0000000040000000
      
      qemu -m 1024 -object memory-backend-memfd,id=mem,size=1G -numa node,memdev=mem -monitor stdio
      (qemu) info ramblock
                    Block Name    PSize              Offset               Used              Total
                  /objects/mem    4 KiB  0x0000000000000000 0x0000000040000000 0x0000000040000000
      
      qemu -m 1024 -object memory-backend-ram,id=mem,size=1G -numa node,memdev=mem -monitor stdio
      (qemu) info ramblock
                    Block Name    PSize              Offset               Used              Total
                           mem    4 KiB  0x0000000000000000 0x0000000040000000 0x0000000040000000
      
      For consistency, change to use object id for -file and -memfd as well
      with >= 4.0.
      
      Having a consistent naming allows to migrate to different hostmem
      backends.
      Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Reviewed-by: NIgor Mammedov <imammedo@redhat.com>
      Acked-by: NEduardo Habkost <ehabkost@redhat.com>
      fa0cb34d
  5. 12 12月, 2018 2 次提交
  6. 28 11月, 2018 2 次提交
  7. 24 10月, 2018 1 次提交
  8. 05 10月, 2018 1 次提交
  9. 03 10月, 2018 2 次提交
  10. 10 8月, 2018 2 次提交
  11. 30 7月, 2018 1 次提交
  12. 29 6月, 2018 1 次提交
  13. 25 5月, 2018 1 次提交
  14. 09 5月, 2018 1 次提交
  15. 27 4月, 2018 1 次提交
  16. 03 3月, 2018 2 次提交
  17. 02 3月, 2018 4 次提交
  18. 19 2月, 2018 1 次提交
    • M
      mem: add share parameter to memory-backend-ram · 06329cce
      Marcel Apfelbaum 提交于
      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: NEduardo Habkost <ehabkost@redhat.com>
      Signed-off-by: NMarcel Apfelbaum <marcel@redhat.com>
      06329cce
  19. 09 2月, 2018 2 次提交
  20. 07 2月, 2018 1 次提交
    • M
      Add memfd based hostmem · dbb9e0f4
      Marc-André Lureau 提交于
      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: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Message-Id: <20180201132757.23063-5-marcandre.lureau@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      dbb9e0f4
  21. 30 1月, 2018 2 次提交
  22. 19 1月, 2018 1 次提交
    • H
      hostmem-file: add "align" option · 98376843
      Haozhong Zhang 提交于
      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: NHaozhong Zhang <haozhong.zhang@intel.com>
      Message-Id: <20171211072806.2812-2-haozhong.zhang@intel.com>
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: NStefan Hajnoczi <stefanha@redhat.com>
      [ehabkost: fixed typo, fixed error_setg() format string]
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      98376843
  23. 15 12月, 2017 8 次提交