[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0bd501d2120e$6bf5aaf0$43e100d0$@opengridcomputing.com>
Date: Sun, 18 Sep 2016 19:40:29 -0500
From: "Steve Wise" <swise@...ngridcomputing.com>
To: "'Leon Romanovsky'" <leonro@...n.nu>
Cc: <dledford@...hat.com>, <davem@...emloft.net>,
<netdev@...r.kernel.org>, <linux-rdma@...r.kernel.org>
Subject: RE: [PATCH 2/2] iw_cxgb4: add fast-path for small REG_MR operations
> On Fri, Sep 16, 2016 at 07:54:52AM -0700, Steve Wise wrote:
> > When processing a REG_MR work request, if fw supports the
> > FW_RI_NSMR_TPTE_WR work request, and if the page list for this
> > registration is <= 2 pages, and the current state of the mr is INVALID,
> > then use FW_RI_NSMR_TPTE_WR to pass down a fully populated TPTE for
> FW
> > to write. This avoids FW having to do an async read of the TPTE
blocking
> > the SQ until the read completes.
> >
> > To know if the current MR state is INVALID or not, iw_cxgb4 must track
the
> > state of each fastreg MR. The c4iw_mr struct state is updated as REG_MR
> > and LOCAL_INV WRs are posted and completed, when a reg_mr is
> destroyed,
> > and when RECV completions are processed that include a local
invalidation.
> >
> > This optimization increases small IO IOPS for both iSER and NVMF.
> >
> > Signed-off-by: Steve Wise <swise@...ngridcomputing.com>
> > ---
>
> <...>
>
> > + struct ib_reg_wr *wr, struct c4iw_mr *mhp,
> > + u8 *len16)
> > +{
> > + __be64 *p = (__be64 *)fr->pbl;
> > +
> > + fr->r2 = cpu_to_be32(0);
>
> Is there any difference between the line above and "fr->r2 = 0"?
It makes sparse happy, IIRC...
Powered by blists - more mailing lists