All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jon Mason <jdmason@kudzu.us>
To: Allen Hubbe <Allen.Hubbe@dell.com>
Cc: 'Logan Gunthorpe' <logang@deltatee.com>,
	linux-ntb@googlegroups.com, 'Dave Jiang' <dave.jiang@intel.com>
Subject: Re: [PATCH] ntb_transport: fix qp count bug
Date: Fri, 9 Jun 2017 17:09:54 -0400	[thread overview]
Message-ID: <20170609210954.GD9847@kudzu.us> (raw)
In-Reply-To: <000201d2dec6$08e211d0$1aa63570$@dell.com>

On Tue, Jun 06, 2017 at 09:08:47AM -0400, Allen Hubbe wrote:
> From: Logan Gunthorpe
> > In cases where there are more mw's than spads/2-2, the mw count gets
> > reduced to match the limitation. ntb_transport also tries to ensure that
> > there are fewer qps than mws but uses the full mw count instead of
> > the reduced one. When this happens, the math in
> > 'ntb_transport_setup_qp_mw' will get confused and result in a kernel
> > paging request bug.
> > 
> > This patch fixes the bug by reducing qp_count to the reduced mw count
> > instead of the full mw count.
> > 
> > Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
> > Cc: Jon Mason <jdmason@kudzu.us>
> > Cc: Dave Jiang <dave.jiang@intel.com>
> > Cc: Allen Hubbe <Allen.Hubbe@emc.com>
> 
> Acked-by: Allen Hubbe <Allen.Hubbe@dell.com>

Adding to my ntb branch with the following line:
Fixes: e26a5843f7f5 ("NTB: Split ntb_hw_intel and ntb_transport drivers")

This enables the stable kernels it is a bug fix and to pick it up.

Thanks,
Jon
> 
> > ---
> >  drivers/ntb/ntb_transport.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/ntb/ntb_transport.c b/drivers/ntb/ntb_transport.c
> > index 02ca45fdd892..0a778d2cab94 100644
> > --- a/drivers/ntb/ntb_transport.c
> > +++ b/drivers/ntb/ntb_transport.c
> > @@ -1128,8 +1128,8 @@ static int ntb_transport_probe(struct ntb_client *self, struct
> > ntb_dev *ndev)
> >  	qp_count = ilog2(qp_bitmap);
> >  	if (max_num_clients && max_num_clients < qp_count)
> >  		qp_count = max_num_clients;
> > -	else if (mw_count < qp_count)
> > -		qp_count = mw_count;
> > +	else if (nt->mw_count < qp_count)
> > +		qp_count = nt->mw_count;
> > 
> >  	qp_bitmap &= BIT_ULL(qp_count) - 1;
> > 
> > --
> > 2.11.0
> 
> 

  reply	other threads:[~2017-06-09 21:09 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-05 20:00 [PATCH] ntb_netdev: set the net_device's parent Logan Gunthorpe
2017-06-05 20:00 ` [PATCH] ntb_transport: fix qp count bug Logan Gunthorpe
2017-06-06 13:08   ` Allen Hubbe
2017-06-09 21:09     ` Jon Mason [this message]
2017-06-05 20:00 ` [PATCH] ntb_transport: fix bug calculating num_qps_mw Logan Gunthorpe
2017-06-06 13:08   ` Allen Hubbe
2017-06-09 21:09     ` Jon Mason
2017-06-06 13:08 ` [PATCH] ntb_netdev: set the net_device's parent Allen Hubbe
2017-06-09 21:12   ` Jon Mason
2017-06-09 21:51     ` Logan Gunthorpe
2017-06-09 21:56       ` Jon Mason
2017-06-09 22:51         ` Logan Gunthorpe
  -- strict thread matches above, loose matches on Subject: below --
2017-12-09  0:01 Logan Gunthorpe
2017-12-09  0:01 ` [PATCH] ntb_transport: fix qp count bug Logan Gunthorpe
2017-12-09  0:02   ` Logan Gunthorpe

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=20170609210954.GD9847@kudzu.us \
    --to=jdmason@kudzu.us \
    --cc=Allen.Hubbe@dell.com \
    --cc=dave.jiang@intel.com \
    --cc=linux-ntb@googlegroups.com \
    --cc=logang@deltatee.com \
    /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.