Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 528e5a1b authored by Bodong Wang's avatar Bodong Wang Committed by Doug Ledford
Browse files

IB/core: 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.

Signed-off-by: default avatarBodong Wang <bodong@mellanox.com>
Reviewed-by: default avatarMatan Barak <matanb@mellanox.com>
Signed-off-by: default avatarLeon Romanovsky <leon@kernel.org>
Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
parent d949167d
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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]   = {
+2 −0
Original line number Diff line number Diff line
@@ -1102,6 +1102,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 {
@@ -1151,6 +1152,7 @@ struct ib_qp_attr {
	u8			rnr_retry;
	u8			alt_port_num;
	u8			alt_timeout;
	u32			rate_limit;
};

enum ib_wr_opcode {