mem: clarify documentation of virt2iova behaviour
authorAnatoly Burakov <anatoly.burakov@intel.com>
Thu, 14 Nov 2019 14:13:06 +0000 (14:13 +0000)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 25 Nov 2019 23:30:51 +0000 (00:30 +0100)
It may not be immediately clear that rte_mem_virt2iova does not actually
check the internal memseg table, and will instead either return VA (in
IOVA as VA mode), or will fall back to kernel page table walk (in IOVA
as PA mode).

Add a note to API documentation indicating the above.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Reviewed-by: Olivier Matz <olivier.matz@6wind.com>
lib/librte_eal/common/include/rte_memory.h

index bf81a2f..3d8d0bd 100644 (file)
@@ -110,6 +110,11 @@ phys_addr_t rte_mem_virt2phy(const void *virt);
 /**
  * Get IO virtual address of any mapped virtual address in the current process.
  *
+ * @note This function will not check internal page table. Instead, in IOVA as
+ *       PA mode, it will fall back to getting real physical address (which may
+ *       not match the expected IOVA, such as what was specified for external
+ *       memory).
+ *
  * @param virt
  *   The virtual address.
  * @return