malloc: enable event callbacks for external memory
authorAnatoly Burakov <anatoly.burakov@intel.com>
Tue, 2 Oct 2018 13:34:55 +0000 (14:34 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 11 Oct 2018 09:56:55 +0000 (11:56 +0200)
commitf32c7c9de9610ddee29e06a025ae4923d5f9de95
tree00dbb5aa375848efba95d57e659dba304ca8b6ee
parentc842d1c3b0df74066c951464f6ba2d67205d918b
malloc: enable event callbacks for external memory

When adding or removing external memory from the memory map, there
may be actions that need to be taken on account of this memory (e.g.
DMA mapping). Add support for triggering callbacks when adding,
removing, attaching or detaching external memory.

Some memory event callback handlers will need additional logic to
handle external memory regions. For example, virtio callback has to
completely ignore externally allocated memory, because there is no
way to find file descriptors backing the memory address in a
generic fashion. All other callbacks have also been adjusted to
handle RTE_BAD_IOVA as IOVA address, as this is one of the expected
use cases for external memory support.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
drivers/bus/fslmc/fslmc_vfio.c
drivers/net/virtio/virtio_user/virtio_user_dev.c
lib/librte_eal/common/malloc_heap.c
lib/librte_eal/common/rte_malloc.c
lib/librte_eal/linuxapp/eal/eal_vfio.c