[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-rdma
Subject:    Re: [PATCH V2 for-next] RDMA/hns: Bugfix for posting multiple srq work request
From:       Jason Gunthorpe <jgg () ziepe ! ca>
Date:       2019-05-31 11:33:33
Message-ID: 20190531113333.GA8258 () ziepe ! ca
[Download RAW message or body]

On Thu, May 30, 2019 at 10:31:17PM +0300, Leon Romanovsky wrote:
> On Thu, May 30, 2019 at 03:49:19PM -0300, Jason Gunthorpe wrote:
> > On Thu, May 30, 2019 at 11:55:53PM +0800, Lijun Ou wrote:
> > > When the user submits more than 32 work request to a srq queue
> > > at a time, it needs to find the corresponding number of entries
> > > in the bitmap in the idx queue. However, the original lookup
> > > function named ffs only processes 32 bits of the array element,
> > > When the number of srq wqe issued exceeds 32, the ffs will only
> > > process the lower 32 bits of the elements, it will not be able
> > > to get the correct wqe index for srq wqe.
> > >
> > > Signed-off-by: Xi Wang <wangxi11@huawei.com>
> > > Signed-off-by: Lijun Ou <oulijun@huawei.com>
> > > V1->V2:
> > > 1. Use bitmap function instead of __ffs64()
> > >  drivers/infiniband/hw/hns/hns_roce_device.h |  2 +-
> > >  drivers/infiniband/hw/hns/hns_roce_hw_v2.c  | 29 +++++++++++++----------------
> > >  drivers/infiniband/hw/hns/hns_roce_srq.c    | 15 +++------------
> > >  3 files changed, 17 insertions(+), 29 deletions(-)
> >
> > Applied to for-next, thanks
> 
> Jason,
> 
> I don't want to be a party buster, but it is hard to believe that
> this part of their patch is correct.
> 
> +       if (unlikely(bitmap_full(idx_que->bitmap, size)))
> +               bitmap_zero(idx_que->bitmap, size);
> 
> They simply "dropping" all indexes.

It is what the logic did before.. No idea what this algorithm is
supposed to be

Jason
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic