Skip to content
Snippets Groups Projects
Commit f070e7dc authored by Rocky Automation's avatar Rocky Automation :tv:
Browse files

import imports/r9/rdma-core-51.0-3.el9_5.cloud

parent e059851f
No related branches found
No related tags found
No related merge requests found
From bb14ea9663fd2101315fc5f6900f5f554ecbf176 Mon Sep 17 00:00:00 2001
From: Jacob Moroni <jmoroni@google.com>
Date: Thu, 2 Jan 2025 19:17:25 +0000
Subject: [PATCH] remove optimized doorbell method
Instead, always write the doorbell.
Signed-off-by: Jacob Moroni <jmoroni@google.com>
---
providers/irdma/uk.c | 31 +++----------------------------
1 file changed, 3 insertions(+), 28 deletions(-)
diff --git a/providers/irdma/uk.c b/providers/irdma/uk.c
index 7ab036cac..fc2be89c6 100644
--- a/providers/irdma/uk.c
+++ b/providers/irdma/uk.c
@@ -119,35 +119,10 @@ void irdma_clr_wqes(struct irdma_qp_uk *qp, __u32 qp_wqe_idx)
*/
void irdma_uk_qp_post_wr(struct irdma_qp_uk *qp)
{
- __u64 temp;
- __u32 hw_sq_tail;
- __u32 sw_sq_head;
-
- /* valid bit is written and loads completed before reading shadow */
- atomic_thread_fence(memory_order_seq_cst);
-
- /* read the doorbell shadow area */
- get_64bit_val(qp->shadow_area, 0, &temp);
-
- hw_sq_tail = (__u32)FIELD_GET(IRDMA_QP_DBSA_HW_SQ_TAIL, temp);
- sw_sq_head = IRDMA_RING_CURRENT_HEAD(qp->sq_ring);
- if (sw_sq_head != qp->initial_ring.head) {
- if (qp->push_dropped) {
- db_wr32(qp->qp_id, qp->wqe_alloc_db);
- qp->push_dropped = false;
- } else if (sw_sq_head != hw_sq_tail) {
- if (sw_sq_head > qp->initial_ring.head) {
- if (hw_sq_tail >= qp->initial_ring.head &&
- hw_sq_tail < sw_sq_head)
- db_wr32(qp->qp_id, qp->wqe_alloc_db);
- } else {
- if (hw_sq_tail >= qp->initial_ring.head ||
- hw_sq_tail < sw_sq_head)
- db_wr32(qp->qp_id, qp->wqe_alloc_db);
- }
- }
- }
+ /* valid bit is written before ringing doorbell */
+ udma_to_device_barrier();
+ db_wr32(qp->qp_id, qp->wqe_alloc_db);
qp->initial_ring.head = qp->sq_ring.head;
}
From 58743284a9720f6d35561ef5090af0a7310f55d9 Mon Sep 17 00:00:00 2001
From: Jacob Moroni <jmoroni@google.com>
Date: Thu, 2 Jan 2025 22:16:33 +0000
Subject: [PATCH] ensure even CQ size
Signed-off-by: Jacob Moroni <jmoroni@google.com>
---
providers/irdma/uverbs.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/providers/irdma/uverbs.c b/providers/irdma/uverbs.c
index d3910ca03..749b3a39b 100644
--- a/providers/irdma/uverbs.c
+++ b/providers/irdma/uverbs.c
@@ -660,6 +660,9 @@ static inline int get_cq_size(int ncqe, __u8 hw_rev, bool cqe_64byte_ena)
if (!cqe_64byte_ena && hw_rev > IRDMA_GEN_1)
ncqe *= 2;
+ if (ncqe & 1)
+ ncqe += 1; /* cq size must be an even number */
+
if (ncqe < IRDMA_U_MINCQ_SIZE)
ncqe = IRDMA_U_MINCQ_SIZE;
Name: rdma-core
Version: 51.0
Release: 2%{?dist}
Release: 3%{?dist}
Summary: RDMA core userspace libraries and daemons
# Almost everything is licensed under the OFA dual GPLv2, 2 Clause BSD license
......@@ -10,8 +10,10 @@ Summary: RDMA core userspace libraries and daemons
License: GPLv2 or BSD
Url: https://github.com/linux-rdma/rdma-core
Source: https://github.com/linux-rdma/rdma-core/releases/download/v%{version}/%{name}-%{version}.tar.gz
# Add updated Intel irdma driver
# Add updated Intel irdma driver and associated patches
Patch1: rdma-core-51.0-add-updated-intel-irdma-driver.patch
Patch2: rdma-core-48.0-irdma-always-write-doorbell.patch
Patch3: rdma-core-48.0-irdma-ensure-even-cq-size.patch
Patch9998: 9998-kernel-boot-Do-not-perform-device-rename-on-OPA-devi.patch
Patch9999: 9999-udev-keep-NAME_KERNEL-as-default-interface-naming-co.patch
......@@ -270,6 +272,8 @@ easy, object-oriented access to IB verbs.
%prep
%setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
%if 0%{?fedora}
%patch9998 -p1
%endif
......@@ -622,6 +626,9 @@ fi
%endif
%changelog
* Fri Jan 03 2025 Jonathan Dieter <jdieter@ciq.com> - 51.0-3
- Add irdma userspace fixes from Google
* Fri Nov 15 2024 Jonathan Dieter <jdieter@ciq.com> - 51.0-2
- Add out-of-tree updated Intel irdma driver patch
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment