public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgg@ziepe.ca>
To: Bernard Metzler <BMT@zurich.ibm.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>,
	Doug Ledford <dledford@redhat.com>,
	linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: Re: Re: Re: Re: [PATCH] RDMA/siw: Fix compiler warnings on 32-bit due to u64/pointer abuse
Date: Mon, 19 Aug 2019 13:35:21 -0300	[thread overview]
Message-ID: <20190819163521.GK5058@ziepe.ca> (raw)
In-Reply-To: <OFFE3BC87B.CF197FD5-ON0025845B.0059957B-0025845B.005A903D@notes.na.collabserv.com>

On Mon, Aug 19, 2019 at 04:29:11PM +0000, Bernard Metzler wrote:
> 
> >To: "Bernard Metzler" <BMT@zurich.ibm.com>
> >From: "Jason Gunthorpe" <jgg@ziepe.ca>
> >Date: 08/19/2019 06:05PM
> >Cc: "Geert Uytterhoeven" <geert@linux-m68k.org>, "Doug Ledford"
> ><dledford@redhat.com>, linux-rdma@vger.kernel.org,
> >linux-kernel@vger.kernel.org
> >Subject: [EXTERNAL] Re: Re: Re: Re: [PATCH] RDMA/siw: Fix compiler
> >warnings on 32-bit due to u64/pointer abuse
> >
> >On Mon, Aug 19, 2019 at 03:54:56PM +0000, Bernard Metzler wrote:
> >
> >> Absolutely. But these addresses are conveyed through the
> >> API as unsigned 64 during post_send(), and land in the siw
> >> send queue as is. During send queue processing, these addresses
> >> must be interpreted according to its context and transformed
> >> (casted) back to the callers intention. I frankly do not
> >> know what we can do differently... The representation of
> >> all addresses as unsigned 64 is given. Sorry for the confusion.
> >
> >send work does not have pointers in it, so I'm confused what this is
> >about. Does siw allow userspace to stick an ordinary pointer for the
> >SG list?
> 
> Right a user references a buffer by address and local key it
> got during reservation of that buffer. The user can provide any
> VA between start of that buffer and registered length. 

Oh gross, it overloads the IOVA in the WR with a kernel void * ??

> >The code paths here must be totally different, so there should be
> >different types and functions for each case.
> 
> Yes, there is a function to process application memory (siw_rx_umem),
> to process a kernel PBL (siw_rx_pbl), and one to process kernel
> addresses (siw_rx_kva). Before running that function, the API
> representation of the current SGE gets translated into target
> buffer representation.

Why does siw_pbl_get_buffer not return a void *??

Still looks like two types have been crammed together.

The kernel can't ever store anything into the user WQE buffer, so I
would think it would copy the buffer to kernel space, transform it
properly and then refer to it as a kernel buffer. Kernel sourced
buffers just skip the transofmration.

JAson

  reply	other threads:[~2019-08-19 16:35 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-19 10:05 [PATCH] RDMA/siw: Fix compiler warnings on 32-bit due to u64/pointer abuse Geert Uytterhoeven
2019-08-19 12:24 ` Jason Gunthorpe
2019-08-19 13:36   ` Bernard Metzler
2019-08-19 13:52     ` Jason Gunthorpe
2019-08-19 14:15       ` Bernard Metzler
2019-08-19 14:18         ` Jason Gunthorpe
2019-08-19 14:52           ` Bernard Metzler
2019-08-19 15:07             ` Jason Gunthorpe
2019-08-19 15:54               ` Bernard Metzler
2019-08-19 16:05                 ` Jason Gunthorpe
2019-08-19 16:29                   ` Bernard Metzler
2019-08-19 16:35                     ` Jason Gunthorpe [this message]
2019-08-19 17:39                       ` Bernard Metzler
2019-08-19 18:00                         ` Jason Gunthorpe
2019-08-19 21:40                           ` Bernard Metzler
2019-08-19 22:22                             ` Jason Gunthorpe
2019-08-19 16:56 ` Joe Perches
2019-08-19 17:14   ` Geert Uytterhoeven
2019-08-19 17:26     ` Bernard Metzler
2019-08-27 14:17     ` David Laight
2019-08-27 17:29       ` Geert Uytterhoeven
2019-08-27 17:46         ` Al Viro
2019-08-27 17:59           ` Geert Uytterhoeven
2019-08-27 18:33             ` Joe Perches
2019-08-28  8:27               ` David Laight

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=20190819163521.GK5058@ziepe.ca \
    --to=jgg@ziepe.ca \
    --cc=BMT@zurich.ibm.com \
    --cc=dledford@redhat.com \
    --cc=geert@linux-m68k.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox