Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Jul 2021 16:13:41 GMT
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: 4c033941d0b9 - stable/13 - ibcore: Support rate limit for packet pacing
Message-ID:  <202107261613.16QGDfAb005761@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/13 has been updated by hselasky:

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

commit 4c033941d0b9ddb78ab7cb9a0e8124f96df605f7
Author:     Hans Petter Selasky <hselasky@FreeBSD.org>
AuthorDate: 2021-06-16 13:01:49 +0000
Commit:     Hans Petter Selasky <hselasky@FreeBSD.org>
CommitDate: 2021-07-26 16:04:31 +0000

    ibcore: Support rate limit for packet pacing
    
    Add new member rate_limit to ib_qp_attr which holds the packet pacing
    rate in kbps, 0 means unlimited.
    
    IB_QP_RATE_LIMIT is added to ib_attr_mask and could be used by RAW
    QPs when changing QP state from RTR to RTS, RTS to RTS.
    
    Linux commit:
    528e5a1bd3f0e9b760cb3a1062fce7513712a15d
    
    Reviewed by:    kib
    Sponsored by:   Mellanox Technologies // NVIDIA Networking
    
    (cherry picked from commit 0c13880cccd75655c878ce31e767bce04b1d6e85)
---
 sys/ofed/drivers/infiniband/core/ib_verbs.c | 2 ++
 sys/ofed/include/rdma/ib_verbs.h            | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/sys/ofed/drivers/infiniband/core/ib_verbs.c b/sys/ofed/drivers/infiniband/core/ib_verbs.c
index 9e06d079af31..aabb416ddc21 100644
--- a/sys/ofed/drivers/infiniband/core/ib_verbs.c
+++ b/sys/ofed/drivers/infiniband/core/ib_verbs.c
@@ -1016,6 +1016,7 @@ static const struct {
 						 IB_QP_QKEY),
 				 [IB_QPT_GSI] = (IB_QP_CUR_STATE		|
 						 IB_QP_QKEY),
+				 [IB_QPT_RAW_PACKET] = IB_QP_RATE_LIMIT,
 			 }
 		}
 	},
@@ -1049,6 +1050,7 @@ static const struct {
 						IB_QP_QKEY),
 				[IB_QPT_GSI] = (IB_QP_CUR_STATE			|
 						IB_QP_QKEY),
+				[IB_QPT_RAW_PACKET] = IB_QP_RATE_LIMIT,
 			}
 		},
 		[IB_QPS_SQD]   = {
diff --git a/sys/ofed/include/rdma/ib_verbs.h b/sys/ofed/include/rdma/ib_verbs.h
index b18aa2855166..cdbf2f5ce260 100644
--- a/sys/ofed/include/rdma/ib_verbs.h
+++ b/sys/ofed/include/rdma/ib_verbs.h
@@ -1132,6 +1132,7 @@ enum ib_qp_attr_mask {
 	IB_QP_RESERVED2			= (1<<22),
 	IB_QP_RESERVED3			= (1<<23),
 	IB_QP_RESERVED4			= (1<<24),
+	IB_QP_RATE_LIMIT		= (1<<25),
 };
 
 enum ib_qp_state {
@@ -1182,6 +1183,7 @@ struct ib_qp_attr {
 	u8			rnr_retry;
 	u8			alt_port_num;
 	u8			alt_timeout;
+	u32			rate_limit;
 };
 
 enum ib_wr_opcode {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202107261613.16QGDfAb005761>