Re: Question about IB_QP_CUR_STATE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/07/2020 13:44, Leon Romanovsky wrote:
> On Thu, Jul 09, 2020 at 09:13:45AM +0300, Gal Pressman wrote:
>> On 08/07/2020 18:44, Leon Romanovsky wrote:
>>> On Wed, Jul 08, 2020 at 03:42:34PM +0300, Gal Pressman wrote:
>>>> On 08/07/2020 12:41, liweihang wrote:
>>>>> Hi all,
>>>>>
>>>>> I'm a little confused about the role of IB_QP_CUR_STATE in the enumeration
>>>>> ib_qp_attr_mask.
>>>>>
>>>>> In manual page of ibv_modify_qp(), comments of cur_qp_state is "Assume this
>>>>> is the current QP state". Why we need to get current qp state from users
>>>>> instead of drivers?
>>>>>
>>>>> For example, why the users are allowed to modify qp from RTR to RTS again
>>>>> even if the qp's state in driver and hardware has already been RTS.
>>>>>
>>>>> I would be appretiate it if someone can help with this.
>>>>>
>>>>> Weihang
>>>>>
>>>>
>>>> Talking about IB_QP_CUR_STATE, I see many drivers filling it in their query QP
>>>> callback although it should only be used in modify operations.. Is there a
>>>> reason not to remove it?
>>>
>>> IBTA section "11.2.5.3 QUERY QUEUE PAIR" has line about IB_QP_CUR_STATE.
>>> It is one of output modifiers.
>>>
>>> Thanks
>>>
>>
>> It says the current QP state should be returned, that's what qp_state field is used for.
>> According to the man pages:
>>
>> libibverbs/man/ibv_query_qp.3:
>>                enum ibv_qp_state       qp_state;            /* Current QP state */
>>                enum ibv_qp_state       cur_qp_state;        /* Current QP state - irrelevant for ibv_query_qp */
> 
> I don't think that users read it, because ibv_cmd_query_qp() filled
> qp_state to be equal to cur_qp_state from day one.

Where do you see that?

I see:
ibv_cmd_query_qp():
	attr->qp_state                      = resp.qp_state;
	attr->cur_qp_state                  = resp.cur_qp_state;



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux