+5
−25
Loading
Currently, we translate each 2MB chunk to manually check if it's contiguous with the previous one, but there are rte_vhost APIs that do it way more efficiently. rte_vhost_va_from_guest_pa() was introduced in DPDK 18.02, but was backported to 17.11 as well, so we don't even need any RTE_VERSION ifdefs to use it now. This function calculates the remaining region size instead of trying to translate subsequent 2MB chunks over and over. The previous rte_vhost_gpa_to_vva() was deprecated a long time ago and after this patch we no longer make any use of it. DPDK usages of this new function check if the translated memory region has 0 length, which seems very silly, but let's just do it in SPDK as well. Change-Id: Ifae8daa5f810b5a2ba1524958ad2399af700b532 Signed-off-by:Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/454878 Tested-by:
SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by:
Ben Walker <benjamin.walker@intel.com> Reviewed-by:
Changpeng Liu <changpeng.liu@intel.com>