[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190819222208.GA25513@ziepe.ca>
Date: Mon, 19 Aug 2019 19:22:08 -0300
From: Jason Gunthorpe <jgg@...pe.ca>
To: Bernard Metzler <BMT@...ich.ibm.com>
Cc: Geert Uytterhoeven <geert@...ux-m68k.org>,
Doug Ledford <dledford@...hat.com>, linux-rdma@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: Re: Re: Re: Re: Re: [PATCH] RDMA/siw: Fix compiler warnings on
32-bit due to u64/pointer abuse
On Mon, Aug 19, 2019 at 09:40:10PM +0000, Bernard Metzler wrote:
> >It is either an iova & lkey pair, or SGE information is inlined into
> >the WR ring.
> >
> In siw, the reference to any type of memory is kept uninterpreted
> in the send/receive queue until it gets accessed by a data
> transfer. The information on what type of memory is being referenced
> is deducted from the local memory key. As said, this step is
> being executed only when the actual buffer is to be touched.
> All it needs before that translation is to keep the 32bit key +
> length and the up to 64bit address in a work queue element within
> the send queue.
> lkey lookup and memory translation + access validation happens
> after the work queue element left the send/receive queue and a
> local copy of it is being processed by the kernel driver
> during RX or TX operations.
>
> Inline data is implemented similar to how HW providers do
> it - user data are copied immediately into the WR array.
I still don't understand how kernel void *'s are getting into WQEs.
Jason
Powered by blists - more mailing lists