[RDMA]QP相关介绍(一)——QP Verbs

1 相关概念

QP由发送工作队列与接收工作队列组成,这两个工作队列总作为一对创建,并在其整个生命周期中保持这种状态。

QPN为QP的标识编号。

QPC是特定QP的信息,包括当前的WQE、PSN、传输参数等。

QP句柄由创建QP的操作返回,并作为其他QP操作的标识参数提供。

2 QP verbs概述

与QP创建、管理和销毁相关的verbs有:

  • Allocate RDD
  • Create QP
  • Modify QP
  • Query QP
  • Destroy QP
  • Deallocate RDD

2.1 Allocate and Deallocate RDD Verbs

执行Allocate RDD verb只对RD QP有必要。

2.2 Create QP Verb

执行Create QP verb以创建支持四种IBA传输服务类型之一的QP。输入参数是:

  • 标识在哪个HCA上创建QP的HCA句柄。执行Open HCA verb时返回该句柄。
  • 与QP的SQ和RQ相关联的CQ句柄。在执行Create CQ verb时返回句柄。
  • software预期发布到SQ或RQ上的最大数量的未完成WR(Work Request)。
  • software将在发布到SQ或RQ上的任何WR中指明Scatter Buffer或Gather Buffer的最大数量。
  • 与此QP相关的RDD(只适用RD QP)。
  • 为QP的SQ指定信号类型。有效的类型有:

       ——所有发布到SQ的工作请求总在完成时生成CQE。

       ——software为发布到SQ的每个WR中指定是否为成功完成生成CQE。

  • QP所属的PD(注意,该PD在之前执行Allocate RDD verb创建)。
  • 为此QP请求的IBA传输服务类型。有效的服务类型有RC、RD、UC和UD。

verb返回的输出参数:

  • 新创建的QP句柄。句柄用作随后执行Modify QPQuery QPDestroy QP verb的输入参数。
  • QPN。这是由verb分配的24bit的QPN,其用途如下:

       ——在RC和UC传输服务类型的连接建立过程中,HCA QP的QPN在建链的REQ message中提供给远端CA的CM。

       ——在向RD或UD的SQ发布WR时,目的QP的QPN会在WR内提供。

  • 支持的未完成SQE的实际数量。如果没有返回错误,则保证大于或等于请求的数量(这可能要求software增加SQ相关的CQ的大小)。
  • 支持的未完成RQE的实际数量。如果没有返回错误,则保证大于或等于请求的数量(这可能要求software增加RQ相关的CQ的大小)。
  • 在提交给SQ或RQ的WR中指明Scatter Buffer或Gather Buffer的实际最大数量。如果没有返回错误,则保证大于或等于请求的数量。

2.3 Modify QP Verb

执行Modify QP Verb的原因如下:

  • 为新创建的QP提供操作参数。
  • 更新已运行QP的操作特征,但保持QP的当前状态不改变。
  • 以编程方式改变QP的运行状态。同时,software可以选择性的改变QP当前的一个或多个操作特性。

当software执行Modify QP verb时,verb调用中指定的当前QP状态与下一个状态定义了一些必需的输入参数,而其他的是可选地。如下:

  • Reset-to-Init状态改变。部分参数为必需参数,不允许设置可选参数。
  • Init-to-RTR状态改变。必需参数与可选参数都有。
  • RTR-to-RTS状态改变。必需参数与可选参数都有。
  • Stay in RTS状态(不改变)。无必需的输入参数,有一些可选参数。
  • SQE-to-RTS状态改变。无必需的输入参数,有一些可选参数。
  • RTS-to-SQD状态改变。无必需或可选输入参数。
  • SQD-to-RTS状态改变。无必需的输入参数,有一些可选参数。
  • Any state-to-Error状态改变被允许。无必需或可选输入参数。
  • Any state-to-Reset状态改变被允许。无必需或可选输入参数。
  • Error-to-Reset状态改变。在QP进入Error状态后允许software执行的唯一状态,无必需或可选输入参数。

Modif

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值