numam-dpdk/lib/librte_eal
Darek Stojaczyk 6bcb7c95fe vfio: share default container in multi-process
So far each process in MP used to have a separate container
and relied on the primary process to register all memsegs.

Mapping external memory via rte_vfio_container_dma_map()
in secondary processes was broken, because the default
(process-local) container had no groups bound. There was
even no way to bind any groups to it, because the container
fd was deeply encapsulated within EAL.

This patch introduces a new SOCKET_REQ_DEFAULT_CONTAINER
message type for MP synchronization, makes all processes
within a MP party use a single default container, and hence
fixes rte_vfio_container_dma_map() for secondary processes.

From what I checked this behavior was always the same, but
started to be invalid/insufficient once mapping external
memory was allowed.

While here, fix up the comment on rte_vfio_get_container_fd().
This function always opens a new container, never reuses
an old one.

Fixes: 73a6390859 ("vfio: allow to map other memory regions")
Cc: stable@dpdk.org

Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com>
2018-10-29 01:59:48 +01:00
..
bsdapp eal: force IOVA to a particular mode 2018-10-29 00:01:05 +01:00
common vfio: share default container in multi-process 2018-10-29 01:59:48 +01:00
linuxapp vfio: share default container in multi-process 2018-10-29 01:59:48 +01:00
Makefile lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
meson.build mk: build with _GNU_SOURCE defined by default 2018-10-22 11:28:27 +02:00
rte_eal_version.map mem: add function for checking memseg IOVA 2018-10-28 22:04:34 +01:00