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