From 189c02996b5629d7bdcc634670b22cda148e0b5b Mon Sep 17 00:00:00 2001 From: Ben Walker Date: Tue, 22 Aug 2017 11:52:52 -0700 Subject: [PATCH] env: Remove vtophys_get_dpdk_paddr This function was only called from one place, so inline it there. It's easier to follow the code without so much jumping around. Change-Id: I3bb11dda321af5f266d23aa32f1a79c8b361595b Signed-off-by: Ben Walker Reviewed-on: https://review.gerrithub.io/375224 Reviewed-by: Daniel Verkamp Tested-by: SPDK Automated Test System Reviewed-by: Jim Harris --- lib/env_dpdk/vtophys.c | 36 +++++++++++++----------------------- 1 file changed, 13 insertions(+), 23 deletions(-) diff --git a/lib/env_dpdk/vtophys.c b/lib/env_dpdk/vtophys.c index 638aa72df..d2563bd3c 100644 --- a/lib/env_dpdk/vtophys.c +++ b/lib/env_dpdk/vtophys.c @@ -423,25 +423,6 @@ spdk_mem_map_translate(const struct spdk_mem_map *map, uint64_t vaddr) return map_2mb->translation_2mb; } -static uint64_t -vtophys_get_dpdk_paddr(void *vaddr) -{ - uintptr_t paddr; - - paddr = rte_mem_virt2phy(vaddr); - if (paddr == 0) { - /* - * The vaddr was valid but returned 0. Touch the page - * to ensure a backing page gets assigned, then call - * rte_mem_virt2phy() again. - */ - rte_atomic64_read((rte_atomic64_t *)vaddr); - paddr = rte_mem_virt2phy(vaddr); - } - - return paddr; -} - static uint64_t vtophys_get_paddr(uint64_t vaddr) { @@ -466,11 +447,20 @@ vtophys_get_paddr(uint64_t vaddr) } } - /* - * The memory is not registered with DPDK. Try to look it up - * in /proc/self/pagemap. + /* The memory is not registered with DPDK. Try to look it up + * in /proc/self/pagemap. DPDK provides a utility function + * to do this. */ - paddr = vtophys_get_dpdk_paddr((void *)vaddr); + paddr = rte_mem_virt2phy((void *)vaddr); + if (paddr == 0) { + /* + * The vaddr was valid but returned 0. Touch the page + * to ensure a backing page gets assigned, then call + * rte_mem_virt2phy() again. + */ + rte_atomic64_read((rte_atomic64_t *)vaddr); + paddr = rte_mem_virt2phy((void *)vaddr); + } if (paddr != RTE_BAD_PHYS_ADDR) { return paddr; }