git: c44fbfdb5686 - main - roundup_pow_of_two: don't take the log of it

From: Doug Moore <dougm_at_FreeBSD.org>
Date: Sat, 28 Sep 2024 17:01:35 UTC
The branch main has been updated by dougm:

URL: https://cgit.FreeBSD.org/src/commit/?id=c44fbfdb56862c4c8d2563483b4fff8f9a5a1d43

commit c44fbfdb56862c4c8d2563483b4fff8f9a5a1d43
Author:     Doug Moore <dougm@FreeBSD.org>
AuthorDate: 2024-09-28 17:00:06 +0000
Commit:     Doug Moore <dougm@FreeBSD.org>
CommitDate: 2024-09-28 17:00:06 +0000

    roundup_pow_of_two: don't take the log of it
    
    Based on the definitions, ilog2(roundup_pow_of_two(x)) ==
    order_base_2(x). Replace the former with the latter in a few places to
    save a few calculations.
    
    Reviewed by:    bz, kib
    Differential Revision:  https://reviews.freebsd.org/D46827
---
 sys/dev/mlx4/mlx4_en/en.h         | 2 +-
 sys/dev/mlx4/mlx4_ib/mlx4_ib_qp.c | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/sys/dev/mlx4/mlx4_en/en.h b/sys/dev/mlx4/mlx4_en/en.h
index a29b40ddaf10..838894f7b02f 100644
--- a/sys/dev/mlx4/mlx4_en/en.h
+++ b/sys/dev/mlx4/mlx4_en/en.h
@@ -232,7 +232,7 @@ enum cq_type {
 /*
  * Useful macros
  */
-#define ROUNDUP_LOG2(x)		ilog2(roundup_pow_of_two(x))
+#define ROUNDUP_LOG2(x)		order_base_2(x)
 #define XNOR(x, y)		(!(x) == !(y))
 #define ILLEGAL_MAC(addr)	(addr == 0xffffffffffffULL || addr == 0x0)
 
diff --git a/sys/dev/mlx4/mlx4_ib/mlx4_ib_qp.c b/sys/dev/mlx4/mlx4_ib/mlx4_ib_qp.c
index 3cda28752592..b391946440b9 100644
--- a/sys/dev/mlx4/mlx4_ib/mlx4_ib_qp.c
+++ b/sys/dev/mlx4/mlx4_ib/mlx4_ib_qp.c
@@ -488,7 +488,7 @@ static int set_kernel_sq_size(struct mlx4_ib_dev *dev, struct ib_qp_cap *cap,
 		      MLX4_IB_QPT_PROXY_GSI | MLX4_IB_QPT_TUN_SMI_OWNER)))
 		qp->sq.wqe_shift = ilog2(64);
 	else
-		qp->sq.wqe_shift = ilog2(roundup_pow_of_two(s));
+		qp->sq.wqe_shift = order_base_2(s);
 
 	for (;;) {
 		qp->sq_max_wqes_per_wr = DIV_ROUND_UP(s, 1U << qp->sq.wqe_shift);
@@ -544,7 +544,7 @@ static int set_user_sq_size(struct mlx4_ib_dev *dev,
 	/* Sanity check SQ size before proceeding */
 	if ((1 << ucmd->log_sq_bb_count) > dev->dev->caps.max_wqes	 ||
 	    ucmd->log_sq_stride >
-		ilog2(roundup_pow_of_two(dev->dev->caps.max_sq_desc_sz)) ||
+		order_base_2(dev->dev->caps.max_sq_desc_sz) ||
 	    ucmd->log_sq_stride < MLX4_IB_MIN_SQ_STRIDE)
 		return -EINVAL;