public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
From: Or Gerlitz <ogerlitz-hKgKHo2Ms0FWk0Htik3J/w@public.gmane.org>
To: Roland Dreier <rdreier-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>
Cc: Bart Van Assche <bvanassche-HInyCGIudOg@public.gmane.org>,
	Linux-RDMA <linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: About a shortcoming of the verbs API
Date: Tue, 27 Jul 2010 10:54:30 +0300	[thread overview]
Message-ID: <4C4E90B6.5070002@Voltaire.com> (raw)
In-Reply-To: <adamxtejbes.fsf-BjVyx320WGW9gfZ95n9DRSW4+XlvGpQz@public.gmane.org>

Roland Dreier wrote:
>  > do {
>  >     while (ib_poll_cq(cq, 1, &wc) > 0)
>  >         /* process wc */
>  > } while (ib_req_notify_cq(cq, IB_CQ_NEXT_COMP |
>  > IB_CQ_REPORT_MISSED_EVENTS) > 0);

> This approach can be used to have race-free in-order processing of
> completions using a scheme such as the NAPI processing loop used by the
> IPoIB driver (with help from the core networking stack).

Roland, I'm wasn't sure if/howmuch the results are buggy, but the IPoIB poll loop doesn't check whether the return code of ib_req_notify_cq is negative (error) or positive (more completions to poll), any thoughts on the matter?

   444		if (done < budget) {
   445			if (dev->features & NETIF_F_LRO)
   446				lro_flush_all(&priv->lro.lro_mgr);
   447	
   448			napi_complete(napi);
   449			if (unlikely(ib_req_notify_cq(priv->recv_cq,
   450						      IB_CQ_NEXT_COMP |
   451						      IB_CQ_REPORT_MISSED_EVENTS)) &&
   452			    napi_reschedule(napi))
   453				goto poll_more;
   454		}
   455	
   456		return done;
   457	}

Or.
--
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:[~2010-07-27  7:54 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <AANLkTi=zowawGDjyh+uKve_NiRNMXcrqjAk0hRxGSMOv@mail.gmail.com>
     [not found] ` <AANLkTi=zowawGDjyh+uKve_NiRNMXcrqjAk0hRxGSMOv-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-07-25 18:54   ` About a shortcoming of the verbs API Bart Van Assche
     [not found]     ` <AANLkTinHRnt-jvy0xBOAPUDGcfx6=V6rkRT3t0Ja52FP-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-07-26 14:21       ` Steve Wise
     [not found]         ` <4C4D99F8.3090206-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>
2010-07-26 17:59           ` Bart Van Assche
2010-07-26 19:22       ` Roland Dreier
     [not found]         ` <adamxtejbes.fsf-BjVyx320WGW9gfZ95n9DRSW4+XlvGpQz@public.gmane.org>
2010-07-27  7:54           ` Or Gerlitz [this message]
     [not found]             ` <4C4E90B6.5070002-hKgKHo2Ms0FWk0Htik3J/w@public.gmane.org>
2010-07-28 17:44               ` Roland Dreier
     [not found]                 ` <ada1vanfqn1.fsf-BjVyx320WGW9gfZ95n9DRSW4+XlvGpQz@public.gmane.org>
2010-07-29  6:27                   ` Or Gerlitz
2010-07-27  8:33           ` Bart Van Assche
     [not found]             ` <AANLkTinYuyCqJ6_wq6GH0vQGAY-mwC=7ZLicBnXO+efB-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-07-27 16:50               ` Roland Dreier
     [not found]                 ` <adafwz4g98j.fsf-BjVyx320WGW9gfZ95n9DRSW4+XlvGpQz@public.gmane.org>
2010-07-27 18:03                   ` Bart Van Assche
     [not found]                     ` <AANLkTimAk0k-q1EKjaXOadoXvKXbEN9nAky0w1rjixxB-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-07-27 18:20                       ` Jason Gunthorpe
     [not found]                         ` <20100727182046.GT7920-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2010-07-27 19:28                           ` Bart Van Assche
     [not found]                             ` <AANLkTimAS6znoCCw33ipVV-W-e1BJS93Fxzp-oe0jO4u-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-07-27 20:15                               ` Jason Gunthorpe
2010-07-28 17:42                               ` Roland Dreier
     [not found]                                 ` <ada62zzfqpj.fsf-BjVyx320WGW9gfZ95n9DRSW4+XlvGpQz@public.gmane.org>
2010-07-28 17:51                                   ` Ralph Campbell
     [not found]                                     ` <1280339513.31421.264.camel-/vjeY7uYZjrPXfVEPVhPGq6RkeBMCJyt@public.gmane.org>
2010-07-28 18:01                                       ` Bart Van Assche
2010-07-28 18:05                                       ` Roland Dreier
     [not found]                                         ` <adask33eb36.fsf-BjVyx320WGW9gfZ95n9DRSW4+XlvGpQz@public.gmane.org>
2010-07-28 18:11                                           ` Ralph Campbell
2010-07-28 18:16                                           ` Roland Dreier
     [not found]                                             ` <adaocdreal0.fsf-BjVyx320WGW9gfZ95n9DRSW4+XlvGpQz@public.gmane.org>
2010-07-28 19:05                                               ` Ralph Campbell
2010-08-07  7:56                           ` Bart Van Assche
     [not found]                             ` <AANLkTimc3iS8=8ZQ9u8tOLP4-q_e+o0=AncZj-Mbre2g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-08-07 16:32                               ` Roland Dreier
     [not found]                                 ` <adavd7mz8m9.fsf-BjVyx320WGW9gfZ95n9DRSW4+XlvGpQz@public.gmane.org>
2010-08-08 18:19                                   ` Bart Van Assche
     [not found]                                     ` <AANLkTinKsLNoia96AVDA6fP9Es5_2Rq_wTgY=z6wk_FE-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-08-09 14:49                                       ` David Dillow
     [not found]                                         ` <1281365347.4968.5.camel-FqX9LgGZnHWDB2HL1qBt2PIbXMQ5te18@public.gmane.org>
2010-08-09 18:45                                           ` Vladislav Bolkhovitin
     [not found]                                             ` <4C604CB4.5060705-d+Crzxg7Rs0@public.gmane.org>
2010-08-09 18:58                                               ` David Dillow
2010-08-08  1:38                               ` Jason Gunthorpe
     [not found]                                 ` <20100808013822.GA15146-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2010-08-08 18:16                                   ` Bart Van Assche
     [not found]                                     ` <AANLkTi=My1aK3VsYejeVeRSqo+7RNMX2x6osGNbBERvx-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-08-08 23:51                                       ` Jason Gunthorpe
     [not found]                                         ` <20100808235104.GA32488-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2010-08-09  7:57                                           ` Bart Van Assche

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=4C4E90B6.5070002@Voltaire.com \
    --to=ogerlitz-hkgkho2ms0fwk0htik3j/w@public.gmane.org \
    --cc=bvanassche-HInyCGIudOg@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=rdreier-FYB4Gu1CFyUAvxtiuMwx3w@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox