DPDK has added APIs for registering externally allocated memory regions. Use them instead of doing our own thing. We have to postpone spdk_mem_unregister call in memory_hotplug_cb() because SPDK mutex (g_spdk_mem_map_mutex) and DPDK mutex (memory_hotplug_lock) may overlap and cause deadlock when one thread is calling spdk_free() (locks memory_hotplug_lock first and then tries to lock g_spdk_mem_map_mutex) and another one is calling vhost_session_mem_unregister() (locks g_spdk_mem_map_mutex first and then tries to lock memory_hotplug_lock). Change-Id: I547b4ffc3987ef088a1b659addba1456ad760a71 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Signed-off-by: Maciej Szwed <maciej.szwed@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3560 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> |
||
---|---|---|
.. | ||
env_dpdk_post_init | ||
mem_callbacks | ||
memory | ||
pci | ||
vtophys | ||
env.sh | ||
Makefile |