[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190621195818.GY19891@ziepe.ca>
Date: Fri, 21 Jun 2019 16:58:18 -0300
From: Jason Gunthorpe <jgg@...pe.ca>
To: Michal Kalderon <mkalderon@...vell.com>
Cc: Doug Ledford <dledford@...hat.com>,
Ariel Elior <aelior@...vell.com>,
"linux-rdma@...r.kernel.org" <linux-rdma@...r.kernel.org>,
"davem@...emloft.net" <davem@...emloft.net>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: Re: [PATCH v3 rdma-next 0/3] RDMA/qedr: Use the doorbell overflow
recovery mechanism for RDMA
On Fri, Jun 21, 2019 at 07:49:39PM +0000, Michal Kalderon wrote:
> > From: linux-rdma-owner@...r.kernel.org <linux-rdma-
> > owner@...r.kernel.org> On Behalf Of Doug Ledford
> >
> > On Thu, 2019-06-13 at 11:38 +0300, Michal Kalderon wrote:
> > > This patch series used the doorbell overflow recovery mechanism
> > > introduced in commit 36907cd5cd72 ("qed: Add doorbell overflow
> > > recovery mechanism") for rdma ( RoCE and iWARP )
> > >
> > > rdma-core pull request #493
> > >
> > > Changes from V2:
> > > - Don't use long-lived kmap. Instead use user-trigger mmap for the
> > > doorbell recovery entries.
> > > - Modify dpi_addr to be denoted with __iomem and avoid redundant
> > > casts
> > >
> > > Changes from V1:
> > > - call kmap to map virtual address into kernel space
> > > - modify db_rec_delete to be void
> > > - remove some cpu_to_le16 that were added to previous patch which are
> > > correct but not related to the overflow recovery mechanism. Will be
> > > submitted as part of a different patch
> > >
> > >
> > > Michal Kalderon (3):
> > > qed*: Change dpi_addr to be denoted with __iomem
> > > RDMA/qedr: Add doorbell overflow recovery support
> > > RDMA/qedr: Add iWARP doorbell recovery support
> > >
> > > drivers/infiniband/hw/qedr/main.c | 2 +-
> > > drivers/infiniband/hw/qedr/qedr.h | 27 +-
> > > drivers/infiniband/hw/qedr/verbs.c | 387
> > > ++++++++++++++++++++++++-----
> > > drivers/net/ethernet/qlogic/qed/qed_rdma.c | 6 +-
> > > include/linux/qed/qed_rdma_if.h | 2 +-
> > > include/uapi/rdma/qedr-abi.h | 25 ++
> > > 6 files changed, 378 insertions(+), 71 deletions(-)
> > >
> >
> > Hi Michal,
> >
> > In patch 2 and 3 both, you still have quite a few casts to (u8 __iomem *).
> > Why not just define the struct elements as u8 __iomem * instead of void
> > __iomem * and avoid all the casts?
> >
> Hi Doug,
>
> Thanks for the review. The remaining casts are due to pointer arithmetic and not variable assignments
> as before. Removing the cast entirely will require quite a lot of changes in qed and in rdma-core
> which I would be happy to avoid at this time.
In linux pointer math on a void * acts the same as a u8 so you should
never need to cast a void * to a u8 just to do math?
Jason
Powered by blists - more mailing lists