Re: [PATCH 1/2] treewide: idr: align IDR and IDA APIs

Danilo Krummrich
2022-07-04T00:28:11Z

On Sun, Jul 03, 2022 at 09:49:14PM +0100, Matthew Wilcox wrote:
> On Sun, Jul 03, 2022 at 08:17:38PM +0200, Danilo Krummrich wrote:
> > For allocating IDs the ID allocator (IDA) provides the following
> > functions: ida_alloc(), ida_alloc_range(), ida_alloc_min() and
> > ida_alloc_max() whereas for IDRs only idr_alloc() is available.
> >
> > In contrast to ida_alloc(), idr_alloc() behaves like ida_alloc_range(),
> > which takes MIN and MAX arguments to define the bounds within an ID
> > should be allocated - ida_alloc() instead implicitly uses the maximal
> > bounds possible for MIN and MAX without taking those arguments.
> >
> > In order to align the IDR and IDA APIs this patch provides
> > implementations for idr_alloc(), idr_alloc_range(), idr_alloc_min() and
> > idr_alloc_max(), which are analogue to the IDA API.
>
> I don't really want to make any changes to the IDR API. I want to get
> rid of the IDR API.

Forgot to mention, I noticed that there is even a new user of the IDR API in
next/master: commit d8782ec59eb8 ("mlxsw: Add an initial PGT table support")

Maybe it makes sense to point out that the IDR API is deprecated and XArray
should be used instead at the beginning of the IDR documentation file, such
that it's obvious for new potential users?

- Danilo