From 5f29971fccc15b8b835da24050f8c48aba6951ef Mon Sep 17 00:00:00 2001 From: Donghua Huang Date: Tue, 26 Aug 2025 19:53:52 +0800 Subject: [PATCH] libhns: Magic number and Whitespace warning cleanup Signed-off-by: Donghua Huang --- ...s-Clean-up-DCA-magic-number-warnings.patch | 130 ++++++++++++++++++ ...ean-up-space-tab-blank-line-warnings.patch | 50 +++++++ rdma-core.spec | 10 +- 3 files changed, 189 insertions(+), 1 deletion(-) create mode 100644 0068-libhns-Clean-up-DCA-magic-number-warnings.patch create mode 100644 0069-libhns-Clean-up-space-tab-blank-line-warnings.patch diff --git a/0068-libhns-Clean-up-DCA-magic-number-warnings.patch b/0068-libhns-Clean-up-DCA-magic-number-warnings.patch new file mode 100644 index 0000000..a24a094 --- /dev/null +++ b/0068-libhns-Clean-up-DCA-magic-number-warnings.patch @@ -0,0 +1,130 @@ +From 0ffff9a86bf0896b8278bae5cd1d5d75cf0a3aa0 Mon Sep 17 00:00:00 2001 +From: Junxian Huang +Date: Tue, 29 Jul 2025 16:31:38 +0800 +Subject: [PATCH 1/2] libhns: Clean up DCA magic number warnings + +Use macros instead of magic numbers. + +Fixes: 1479aa19be37 ("libhns: Use shared memory to sync DCA status") +Fixes: 3aa4683ef700 ("libhns: Add support for attaching QP's WQE buffer") +Fixes: 9ebe050337c4 ("libhns: Add support for shrinking DCA memory pool") +Signed-off-by: Junxian Huang +Signed-off-by: Donghua Huang +--- + providers/hns/hns_roce_u.c | 3 ++- + providers/hns/hns_roce_u_buf.c | 24 ++++++++++++++++++------ + 2 files changed, 20 insertions(+), 7 deletions(-) + +diff --git a/providers/hns/hns_roce_u.c b/providers/hns/hns_roce_u.c +index ec995e7..326f11a 100644 +--- a/providers/hns/hns_roce_u.c ++++ b/providers/hns/hns_roce_u.c +@@ -150,6 +150,7 @@ static int hns_roce_mmap(struct hns_roce_device *hr_dev, + static int mmap_dca(struct hns_roce_context *ctx, int cmd_fd, + int page_size, size_t size, uint64_t mmap_key) + { ++#define PRIME_QP_BUF_RATIO 2 + struct hns_roce_dca_ctx *dca_ctx = &ctx->dca_ctx; + void *addr; + +@@ -161,7 +162,7 @@ static int mmap_dca(struct hns_roce_context *ctx, int cmd_fd, + } + + dca_ctx->buf_status = addr; +- dca_ctx->sync_status = addr + size / 2; ++ dca_ctx->sync_status = addr + size / PRIME_QP_BUF_RATIO; + + return 0; + } +diff --git a/providers/hns/hns_roce_u_buf.c b/providers/hns/hns_roce_u_buf.c +index 780683e..952c26f 100644 +--- a/providers/hns/hns_roce_u_buf.c ++++ b/providers/hns/hns_roce_u_buf.c +@@ -126,11 +126,13 @@ static inline void *dca_mem_addr(struct hns_roce_dca_mem *dca_mem, int offset) + static int register_dca_mem(struct hns_roce_context *ctx, uint64_t key, + void *addr, uint32_t size, uint32_t *handle) + { ++#define REGISTER_DCA_MEM_ATTR_NUM 4 + struct ib_uverbs_attr *attr; + int ret; + + DECLARE_COMMAND_BUFFER(cmd, HNS_IB_OBJECT_DCA_MEM, +- HNS_IB_METHOD_DCA_MEM_REG, 4); ++ HNS_IB_METHOD_DCA_MEM_REG, ++ REGISTER_DCA_MEM_ATTR_NUM); + fill_attr_in_uint32(cmd, HNS_IB_ATTR_DCA_MEM_REG_LEN, size); + fill_attr_in_uint64(cmd, HNS_IB_ATTR_DCA_MEM_REG_ADDR, + ioctl_ptr_to_u64(addr)); +@@ -151,10 +153,12 @@ static int register_dca_mem(struct hns_roce_context *ctx, uint64_t key, + + static void deregister_dca_mem(struct hns_roce_context *ctx, uint32_t handle) + { ++#define DEREGISTER_DCA_MEM_ATTR_NUM 1 + int ret; + + DECLARE_COMMAND_BUFFER(cmd, HNS_IB_OBJECT_DCA_MEM, +- HNS_IB_METHOD_DCA_MEM_DEREG, 1); ++ HNS_IB_METHOD_DCA_MEM_DEREG, ++ DEREGISTER_DCA_MEM_ATTR_NUM); + fill_attr_in_obj(cmd, HNS_IB_ATTR_DCA_MEM_DEREG_HANDLE, handle); + ret = execute_ioctl(&ctx->ibv_ctx.context, cmd); + if (ret) +@@ -181,10 +185,12 @@ struct hns_dca_mem_shrink_resp { + static int shrink_dca_mem(struct hns_roce_context *ctx, uint32_t handle, + uint64_t size, struct hns_dca_mem_shrink_resp *resp) + { ++#define SHRINK_DCA_MEM_ATTR_NUM 4 + int ret; + + DECLARE_COMMAND_BUFFER(cmd, HNS_IB_OBJECT_DCA_MEM, +- HNS_IB_METHOD_DCA_MEM_SHRINK, 4); ++ HNS_IB_METHOD_DCA_MEM_SHRINK, ++ SHRINK_DCA_MEM_ATTR_NUM); + fill_attr_in_obj(cmd, HNS_IB_ATTR_DCA_MEM_SHRINK_HANDLE, handle); + fill_attr_in_uint64(cmd, HNS_IB_ATTR_DCA_MEM_SHRINK_RESERVED_SIZE, size); + fill_attr_out(cmd, HNS_IB_ATTR_DCA_MEM_SHRINK_OUT_FREE_KEY, +@@ -209,10 +215,12 @@ struct hns_dca_mem_query_resp { + static int query_dca_mem(struct hns_roce_context *ctx, uint32_t handle, + uint32_t index, struct hns_dca_mem_query_resp *resp) + { ++#define QUERY_DCA_MEM_ATTR_NUM 5 + int ret; + + DECLARE_COMMAND_BUFFER(cmd, HNS_IB_OBJECT_DCA_MEM, +- HNS_IB_METHOD_DCA_MEM_QUERY, 5); ++ HNS_IB_METHOD_DCA_MEM_QUERY, ++ QUERY_DCA_MEM_ATTR_NUM); + fill_attr_in_obj(cmd, HNS_IB_ATTR_DCA_MEM_QUERY_HANDLE, handle); + fill_attr_in_uint32(cmd, HNS_IB_ATTR_DCA_MEM_QUERY_PAGE_INDEX, index); + fill_attr_out(cmd, HNS_IB_ATTR_DCA_MEM_QUERY_OUT_KEY, +@@ -233,10 +241,12 @@ static int query_dca_mem(struct hns_roce_context *ctx, uint32_t handle, + void hns_roce_detach_dca_mem(struct hns_roce_context *ctx, uint32_t handle, + struct hns_roce_dca_detach_attr *attr) + { ++#define DETACH_DCA_MEM_ATTR_NUM 4 + int ret; + + DECLARE_COMMAND_BUFFER(cmd, HNS_IB_OBJECT_DCA_MEM, +- HNS_IB_METHOD_DCA_MEM_DETACH, 4); ++ HNS_IB_METHOD_DCA_MEM_DETACH, ++ DETACH_DCA_MEM_ATTR_NUM); + fill_attr_in_obj(cmd, HNS_IB_ATTR_DCA_MEM_DETACH_HANDLE, handle); + fill_attr_in_uint32(cmd, HNS_IB_ATTR_DCA_MEM_DETACH_SQ_INDEX, + attr->sq_index); +@@ -257,10 +267,12 @@ static int attach_dca_mem(struct hns_roce_context *ctx, uint32_t handle, + struct hns_roce_dca_attach_attr *attr, + struct hns_dca_mem_attach_resp *resp) + { ++#define ATTACH_DCA_MEM_ATTR_NUM 6 + int ret; + + DECLARE_COMMAND_BUFFER(cmd, HNS_IB_OBJECT_DCA_MEM, +- HNS_IB_METHOD_DCA_MEM_ATTACH, 6); ++ HNS_IB_METHOD_DCA_MEM_ATTACH, ++ ATTACH_DCA_MEM_ATTR_NUM); + fill_attr_in_obj(cmd, HNS_IB_ATTR_DCA_MEM_ATTACH_HANDLE, handle); + fill_attr_in_uint32(cmd, HNS_IB_ATTR_DCA_MEM_ATTACH_SQ_OFFSET, + attr->sq_offset); +-- +2.33.0 + diff --git a/0069-libhns-Clean-up-space-tab-blank-line-warnings.patch b/0069-libhns-Clean-up-space-tab-blank-line-warnings.patch new file mode 100644 index 0000000..da55d98 --- /dev/null +++ b/0069-libhns-Clean-up-space-tab-blank-line-warnings.patch @@ -0,0 +1,50 @@ +From 7971afc8377f46a9b6d0c457b5a65607dba53181 Mon Sep 17 00:00:00 2001 +From: Junxian Huang +Date: Tue, 29 Jul 2025 16:44:40 +0800 +Subject: [PATCH 2/2] libhns: Clean up space/tab/blank line warnings + +Clean up following warnings: +* Please use 1 blank space(' ') instead of TAB('\t') between the right + comment and the previous code. +* Do not add blank lines at the end of a code block defined by braces. +* Return value judgment should follow the function call. +* Do not put two or more continuous blank lines inside function + +Fixes: 5c1766078f32 ("libhns: Add direct verbs support to config DCA") +Fixes: 376e3c14d77c ("libhns: Adapt UD inline data size for UCX") +Fixes: 5106d55eaf78 ("libhns: Support cqe inline") +Fixes: a624938fa6ab ("libhns: Refactor rq inline") +Signed-off-by: Junxian Huang +Signed-off-by: Donghua Huang +--- + providers/hns/hns_roce_u_hw_v2.c | 1 - + providers/hns/hns_roce_u_verbs.c | 1 - + 2 files changed, 2 deletions(-) + +diff --git a/providers/hns/hns_roce_u_hw_v2.c b/providers/hns/hns_roce_u_hw_v2.c +index b80c574..20fb850 100644 +--- a/providers/hns/hns_roce_u_hw_v2.c ++++ b/providers/hns/hns_roce_u_hw_v2.c +@@ -2608,7 +2608,6 @@ static void wr_set_sge_list_rc(struct ibv_qp_ex *ibv_qp, size_t num_sge, + return; + } + +- + hr_reg_write(wqe, RCWQE_MSG_START_SGE_IDX, + qp->sge_info.start_idx & (qp->ex_sge.sge_cnt - 1)); + +diff --git a/providers/hns/hns_roce_u_verbs.c b/providers/hns/hns_roce_u_verbs.c +index 5ec2341..44e706d 100644 +--- a/providers/hns/hns_roce_u_verbs.c ++++ b/providers/hns/hns_roce_u_verbs.c +@@ -1518,7 +1518,6 @@ static uint32_t get_max_inline_data(struct hns_roce_context *ctx, + + if (max_inline_data) { + max_inline_data = roundup_pow_of_two(max_inline_data); +- + if (is_ud && max_inline_data < HNS_ROCE_MIN_UD_INLINE) + max_inline_data = HNS_ROCE_MIN_UD_INLINE; + +-- +2.33.0 + diff --git a/rdma-core.spec b/rdma-core.spec index 046cf98..20c4473 100644 --- a/rdma-core.spec +++ b/rdma-core.spec @@ -1,6 +1,6 @@ Name: rdma-core Version: 50.0 -Release: 32 +Release: 33 Summary: RDMA core userspace libraries and daemons License: GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause Url: https://github.com/linux-rdma/rdma-core @@ -73,6 +73,8 @@ patch64: 0064-libxscale-automatically-load-xsc_ib.ko.patch patch65: 0065-libhns-Fix-double-free-of-rinl_buf-wqe_list.patch patch66: 0066-libhns-Add-check-for-input-param-of-hnsdv_query_devi.patch patch67: 0067-libhns-Adapt-UD-inline-data-size-for-UCX.patch +patch68: 0068-libhns-Clean-up-DCA-magic-number-warnings.patch +patch69: 0069-libhns-Clean-up-space-tab-blank-line-warnings.patch BuildRequires: binutils cmake >= 2.8.11 gcc libudev-devel pkgconfig pkgconfig(libnl-3.0) BuildRequires: pkgconfig(libnl-route-3.0) systemd systemd-devel @@ -652,6 +654,12 @@ fi %doc %{_docdir}/%{name}-%{version}/70-persistent-ipoib.rules %changelog +* Wed Aug 27 2025 Donghua Huang - 50.0-33 +- Type: bugfix +- ID: NA +- SUG: NA +- DESC: libhns: Magic number and Whitespace warning cleanup + * Thu Jun 12 2025 Donghua Huang - 50.0-32 - Type: bugfix - ID: NA -- Gitee