git: 5a5da24fc85a - main - mlx5: optimize ilog2 calculation
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 28 Sep 2024 21:26:51 UTC
The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=5a5da24fc85aa7711eed8f3e303c0cf6f5ebcca4 commit 5a5da24fc85aa7711eed8f3e303c0cf6f5ebcca4 Author: Doug Moore <dougm@FreeBSD.org> AuthorDate: 2024-09-28 21:24:44 +0000 Commit: Doug Moore <dougm@FreeBSD.org> CommitDate: 2024-09-28 21:24:44 +0000 mlx5: optimize ilog2 calculation Rather than compute ilog2(roundup_pow_of_two(x)), which invokes ilog2 twice, just use order_base_2 once. And employ that optimization twice. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D46838 --- sys/dev/mlx5/mlx5_ib/mlx5_ib_mem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/mlx5/mlx5_ib/mlx5_ib_mem.c b/sys/dev/mlx5/mlx5_ib/mlx5_ib_mem.c index bd06e531531b..9428e6ece3a4 100644 --- a/sys/dev/mlx5/mlx5_ib/mlx5_ib_mem.c +++ b/sys/dev/mlx5/mlx5_ib/mlx5_ib_mem.c @@ -78,10 +78,10 @@ void mlx5_ib_cont_pages(struct ib_umem *umem, u64 addr, } if (i) { - m = min_t(unsigned long, ilog2(roundup_pow_of_two(i)), m); + m = min_t(unsigned long, order_base_2(i), m); if (order) - *order = ilog2(roundup_pow_of_two(i) >> m); + *order = order_base_2(i) - m; *ncont = DIV_ROUND_UP(i, (1 << m)); } else {