Re: [PATCH] RDMA/core: reduce IB_POLL_BATCH constant

From: Max Gurtovoy
Date: Thu Mar 01 2018 - 04:37:09 EST




On 2/28/2018 8:55 PM, Doug Ledford wrote:
On Wed, 2018-02-28 at 11:50 +0200, Max Gurtovoy wrote:

On 2/28/2018 2:21 AM, Bart Van Assche wrote:
On 02/27/18 14:15, Max Gurtovoy wrote:
-static int __ib_process_cq(struct ib_cq *cq, int budget, struct ib_wc
*poll_wc)
+static int __ib_process_cq(struct ib_cq *cq, int budget, struct ib_wc
*poll_wc,
+ int batch)
{
- int i, n, completed = 0;
- struct ib_wc *wcs = poll_wc ? : cq->wc;
+ int i, n, ib_poll_batch, completed = 0;
+ struct ib_wc *wcs;
+
+ if (poll_wc) {
+ wcs = poll_wc;
+ ib_poll_batch = batch;
+ } else {
+ wcs = cq->wc;
+ ib_poll_batch = IB_POLL_BATCH;
+ }

Since this code has to be touched I think that we can use this
opportunity to get rid of the "poll_wc ? : cq->wc" conditional and
instead use what the caller passes. That will require to update all
__ib_process_cq(..., ..., NULL) calls. I also propose to let the caller
pass ib_poll_batch instead of figuring it out in this function.
Otherwise the approach of this patch looks fine to me.

Thanks Bart.
I'll make these changes and submit.

That sounds reasonable to me too, thanks for reworking and resubmitting.


Sure, NP.
We've run NVMe-oF and SRP with the new patch.
I'll send it through Mellanox maintainers pull request.

Thanks for reporting and reviewing.

-Max.