[v3,4/5] memalloc: use library implementation of 64-bit log2
Checks
Commit Message
Remove duplicated code and use library version of 64-bit log2.
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
---
lib/librte_eal/linuxapp/eal/eal_memalloc.c | 17 +----------------
1 file changed, 1 insertion(+), 16 deletions(-)
@@ -208,28 +208,13 @@ get_file_size(int fd)
return st.st_size;
}
-static inline uint32_t
-bsf64(uint64_t v)
-{
- return (uint32_t)__builtin_ctzll(v);
-}
-
-static inline uint32_t
-log2_u64(uint64_t v)
-{
- if (v == 0)
- return 0;
- v = rte_align64pow2(v);
- return bsf64(v);
-}
-
static int
pagesz_flags(uint64_t page_sz)
{
/* as per mmap() manpage, all page sizes are log2 of page size
* shifted by MAP_HUGE_SHIFT
*/
- int log2 = log2_u64(page_sz);
+ int log2 = rte_log2_u64(page_sz);
return log2 << RTE_MAP_HUGE_SHIFT;
}