Re: [PATCH v8 02/12] SIW main include file

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

 



On Wed, May 08, 2019 at 02:06:05PM +0000, Bernard Metzler wrote:
> 
> >To: "Bernard Metzler" <BMT@xxxxxxxxxxxxxx>
> >From: "Jason Gunthorpe" <jgg@xxxxxxxx>
> >Date: 05/08/2019 03:08PM
> >Cc: "Leon Romanovsky" <leon@xxxxxxxxxx>, linux-rdma@xxxxxxxxxxxxxxx
> >Subject: Re: [PATCH v8 02/12] SIW main include file
> >
> >On Wed, May 08, 2019 at 08:07:59AM +0000, Bernard Metzler wrote:
> >> >> >> Memory access keys and QP IDs are generated as random
> >> >> >> numbers, since both are exposed to the application.
> >> >> >> Since XArray is not designed for sparsely distributed
> >> >> >> id ranges, I am still in favor of IDR for these two
> >> >> >> resources.
> >> >
> >> >IDR and xarray have identical underlying storage so this is
> >nonsense
> >> >
> >> >No new idr's or radix tree users will be accepted into rdma....
> >Use
> >> >xarray
> >> >
> >> Sounds good to me! I just came across that introductory video from
> >Matthew,
> >> where he explicitly stated that xarray will be not very efficient
> >if the
> >> indices are not densely clustered. But maybe this is all far beyond
> >the
> >> 24bits of index space a memory key is in. So let me drop that IDR
> >thing
> >> completely, while handling randomized 24 bit memory keys.
> >
> >xarray/idr is a poor choice to store highly unclustered random data
> >
> >I'm not sure why this is a problem, shouldn't the driver be in
> >control
> >of mkey assignment? Just use xa_alloc_cyclic and it will be
> >sufficiently clustered to be efficient.
> >
> 
> It is a recommendation to choose a hard to predict memory
> key (to make it hard for an attacker to guess it). From 
> RFC 5040, sec 8.1.1:
> 
>   An RNIC MUST choose the value of STags in a way difficult to
>   predict.  It is RECOMMENDED to sparsely populate them over the
>   full available range.
> 
> Since I did not want to roll my own bug-prone key based lookup,
> I chose idr. If you tell me xarray is just as inefficient as
> idr for sparse index distributions, I'll take xarray.

Yah, this probably wants to be a RB tree or some other data
structure.. But you can leave it as xarray it just wastes memory.

Jason



[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