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: Bodong Wang <bodong@mellanox.com> Reviewed-by: Matan Barak <matanb@mellanox.com> Signed-off-by: Leon Romanovsky <leon@kernel.org> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
parent
d949167d68
commit
528e5a1bd3
|
@ -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] = {
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Reference in a new issue