All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steve Wise <swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>
To: Bart Van Assche
	<bart.vanassche-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>,
	Chuck Lever <chuck.lever-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>,
	Christoph Hellwig <hch-jcswGhMUV9g@public.gmane.org>
Cc: sagi grimberg <sagi-NQWnxTmZq1alnMjI0IkVqw@public.gmane.org>,
	"linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH] IB/core: Don't drain the receive queue for srq attached queue-pair
Date: Tue, 26 Apr 2016 12:35:17 -0500	[thread overview]
Message-ID: <571FA6D5.2060607@opengridcomputing.com> (raw)
In-Reply-To: <571FA4E5.2030501-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>

On 4/26/2016 12:27 PM, Bart Van Assche wrote:
>>>>> Conversely, I would think that a consumer that uses SRQ
>>>>> would want a similar drain mechanism to guarantee there
>>>>> are no more posted Receives for the associated QP, and
>>>>> thus it is safe to destroy it.
>>>>
>>>> I don't think there is anything now that handles draining an SRQ, nor
>>>> ensuring a QP's RQEs are completed/consumed from its SRQ when draining
>>>> the QP.  Sounds like work is needed here.
>>>>
>>>> But are there any kernel SRQ consumers at this point?
>>>
>>> I think the following two:
>>>
>>> $ git grep -nHE '(ib|rdma)_create_srq' drivers/infiniband/ulp
>>> drivers/infiniband/ulp/ipoib/ipoib_cm.c:1521:    priv->cm.srq =
>>> ib_create_srq(priv->pd, &srq_init_attr);
>>> drivers/infiniband/ulp/srpt/ib_srpt.c:2723:    sdev->srq =
>>> ib_create_srq(sdev->pd, &srq_attr);
>>
>> If we make the requirement that the ib_drain_rq() caller must consume
>> all completions for all QPs attached to an SRQ if they are outstanding,
>> then I think we can modify ib_drain_rq() to post the drain recv WR to
>> the SRQ.  It should work, right?
>
> At least the ib_srpt driver already guarantees that no further receive
> completions will be generated before ib_destroy_qp() is called. But
> posting an additional receive WR on the SRQ from inside ib_drain_rq()
> shouldn't hurt.

Actually, after thinking more about this, posting anything to the SRQ 
will not force it to complete.  The only reason that works for a QP with 
an RQ is that the QP is in ERR state and thus the RECV WR gets completed 
with FLUSHED status.

So SRQ drain would require some other method...

Steve.



--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2016-04-26 17:35 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-26 14:55 [PATCH] IB/core: Don't drain the receive queue for srq attached queue-pair Sagi Grimberg
     [not found] ` <1461682538-19647-1-git-send-email-sagi-NQWnxTmZq1alnMjI0IkVqw@public.gmane.org>
2016-04-26 15:07   ` Steve Wise
     [not found]     ` <CAB5WxwfAGL2qCe7w6A=mKQ65mwjbKKbp_8qFJFRF6Aj7tE+tLQ@mail.gmail.com>
     [not found]       ` <CAB5WxwfAGL2qCe7w6A=mKQ65mwjbKKbp_8qFJFRF6Aj7tE+tLQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-04-26 15:43         ` Christoph Hellwig
     [not found]           ` <20160426154328.GA12398-jcswGhMUV9g@public.gmane.org>
2016-04-26 15:55             ` Chuck Lever
     [not found]               ` <912C9E71-05E3-4ED9-9B41-137E131E3A71-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2016-04-26 16:00                 ` Steve Wise
     [not found]                   ` <571F9084.2040506-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>
2016-04-26 16:04                     ` Bart Van Assche
     [not found]                       ` <571F917C.40008-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2016-04-26 16:28                         ` Steve Wise
     [not found]                           ` <571F972B.6030904-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>
2016-04-26 17:27                             ` Bart Van Assche
     [not found]                               ` <571FA4E5.2030501-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2016-04-26 17:35                                 ` Steve Wise [this message]
     [not found]                                   ` <571FA6D5.2060607-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>
2016-04-26 19:24                                     ` Sagi Grimberg
     [not found]                                       ` <571FC051.7020009-NQWnxTmZq1alnMjI0IkVqw@public.gmane.org>
2016-04-26 19:25                                         ` Steve Wise
2016-04-26 19:20                                 ` Sagi Grimberg
2016-04-26 19:18                         ` Sagi Grimberg
2016-04-26 19:18                     ` Sagi Grimberg
2016-04-26 19:15                 ` Sagi Grimberg
2016-04-26 19:07             ` Sagi Grimberg
2016-04-26 15:46   ` Bart Van Assche
     [not found]     ` <571F8D48.4020503-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2016-04-26 19:11       ` Sagi Grimberg
     [not found]         ` <571FBD4B.2030102-NQWnxTmZq1alnMjI0IkVqw@public.gmane.org>
2016-04-26 20:06           ` Doug Ledford

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=571FA6D5.2060607@opengridcomputing.com \
    --to=swise-7bpotxp6k4+p2yhjcf5u+vpxobypeauw@public.gmane.org \
    --cc=bart.vanassche-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org \
    --cc=chuck.lever-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org \
    --cc=hch-jcswGhMUV9g@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=sagi-NQWnxTmZq1alnMjI0IkVqw@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.