Re: [PATCH] RDMA/rxe: Split rxe_invalidate_mr into local and remote versions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jun 29, 2022 at 5:04 PM Pearson, Robert B
<robert.pearson2@xxxxxxx> wrote:
>
>
>
> -----Original Message-----
> From: haris iqbal <haris.phnx@xxxxxxxxx>
> Sent: Wednesday, June 29, 2022 7:57 AM
> To: Bob Pearson <rpearsonhpe@xxxxxxxxx>
> Cc: Jason Gunthorpe <jgg@xxxxxxxx>; lizhijian@xxxxxxxxxxx; linux-rdma@xxxxxxxxxxxxxxx; bvanassche@xxxxxxx; leon@xxxxxxxxxx; haris.iqbal@xxxxxxxxx; jinpu.wang@xxxxxxxxx; aleksei.marov@xxxxxxxxx
> Subject: Re: [PATCH] RDMA/rxe: Split rxe_invalidate_mr into local and remote versions
>
> On Tue, Jun 28, 2022 at 10:04 PM Bob Pearson <rpearsonhpe@xxxxxxxxx> wrote:
> >
> > On 6/28/22 12:05, haris iqbal wrote:
> > > On Tue, Jun 28, 2022 at 6:50 PM Jason Gunthorpe <jgg@xxxxxxxx> wrote:
> > >>
> > >> On Tue, Jun 28, 2022 at 06:46:39PM +0200, haris iqbal wrote:
> > >>> On Tue, Jun 28, 2022 at 6:34 PM Jason Gunthorpe <jgg@xxxxxxxx> wrote:
> > >>>>
> > >>>> On Tue, Jun 28, 2022 at 06:21:09PM +0200, haris iqbal wrote:
> > >>>>
> > >>>>>> Yes, no driver in Linux suports a disjoint key space.
> > >>>>>
> > >>>>> If disjoint key space is not supported in Linux; does this mean
> > >>>>> irrespective of whether an MR is registered (IB_WR_REG_MR) for
> > >>>>> LOCAL or REMOTE access, both rkey and lkey should be set?
> > >>>>
> > >>>> No.. It means given any key the driver can always tell if it is a
> > >>>> rkey or a lkey. There is never any aliasing of key values. Thus
> > >>>> the API often doesn't have a away to tell if the given key is an rkey or lkey.
> > >>>>
> > >>>>> PS: This discussion started in the following thread,
> > >>>>> https://marc.info/?l=linux-rdma&m=165390868832428&w=2
> > >>>>
> > >>>> rxe is incorrect to not accept the lkey presented on the
> > >>>> invalidate_rkey input. invalidate_rkey is misnamed.
> > >>>
> > >>>
> > >>> Understood. So a better fix for rxe (as compared to the one I
> > >>> sent) would be one of the following (if I understand correctly).
> > >>>
> > >>> 1) The key sent in INV, is compared with lkey or rkey based on
> > >>> which one is set (non-zero).
> > >>
> > >> This one seems to match the spec
> > >>
> > >> However, it requires that keys don't alias, I don't know if rxe has
> > >> done this.
> > >
> > > Rxe seems to be NOT aliasing for fast reg. Unsure about other cases.
> > >
> > > Maybe Bob or Zhu can shed some light?
> > >
> > >>
> > >>> OR,
> > >>> 2) The key sent in INV, is compared with lkey if the MR has only
> > >>> LOCAL access, and rkey if the MR has REMOTE access.
> > >>
> > >> That might make more sense if rxe has aliasing keys and you need to
> > >> be specific about r/l
> > >>
> > >> Jason
> >
> > rxe always has lkey=rkey if rkey is asked for else rkey=0 and lkey is always set.
>
> When you say "rkey is asked for", you mean the access permissions
> (LOCAL/REMOTE) asked for that MR right?
>
> Correct.

Thanks. I will send a patch with the discussed changes for invalidate.

>
> If so, then for RXE to decide which key to compare with while invalidating, it's better to decide based on the access of the MR (basically fix number 2 from my older email).
>
> >
> > Bob



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux