On 29-Apr-20 6:13 PM, Burakov, Anatoly wrote:
@@ -547,10 +531,10 @@ rte_eal_memdevice_init(void) int rte_mem_lock_page(const void *virt) { - unsigned long virtual = (unsigned long)virt; - int page_size = getpagesize(); - unsigned long aligned = (virtual & ~(page_size - 1)); - return mlock((void *)aligned, page_size); + uintptr_t virtual = (uintptr_t)virt; + int page_size = rte_get_page_size(); + uintptr_t aligned = (virtual & ~(page_size - 1));Might as well fix to use macros? e.g. size_t pagesz = rte_get_page_size(); return rte_mem_lock(RTE_PTR_ALIGN(virt, pagesz), pagesz); (also, note that rte_get_page_size() returns size_t, not int)
Apologies, this should've been RTE_PTR_ALIGN_FLOOR(virt, pagesz) -- Thanks, Anatoly

