Re: [for-next PATCH v6 09/10] RDMA/cm: Make QP FLUSHABLE

From: Jason Gunthorpe
Date: Tue Nov 22 2022 - 09:52:47 EST


On Wed, Nov 16, 2022 at 04:19:50PM +0800, Li Zhijian wrote:
> It enables flushable access flag for qp
>
> Reviewed-by: Zhu Yanjun <zyjzyj2000@xxxxxxxxx>
> Signed-off-by: Li Zhijian <lizhijian@xxxxxxxxxxx>
> ---
> V5: new patch, inspired by Bob
> ---
> drivers/infiniband/core/cm.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/infiniband/core/cm.c b/drivers/infiniband/core/cm.c
> index 1f9938a2c475..58837aac980b 100644
> --- a/drivers/infiniband/core/cm.c
> +++ b/drivers/infiniband/core/cm.c
> @@ -4096,7 +4096,8 @@ static int cm_init_qp_init_attr(struct cm_id_private *cm_id_priv,
> qp_attr->qp_access_flags = IB_ACCESS_REMOTE_WRITE;
> if (cm_id_priv->responder_resources)
> qp_attr->qp_access_flags |= IB_ACCESS_REMOTE_READ |
> - IB_ACCESS_REMOTE_ATOMIC;
> + IB_ACCESS_REMOTE_ATOMIC |
> + IB_ACCESS_FLUSHABLE;

What is the point of this? Nothing checks IB_ACCESS_FLUSHABLE ?

Do flush ops require a responder resource?

Why should CM set it unconditionally?

Explain in the commit message

Jason