Re: [RFC PATCH 01/11] rust: add radix tree abstraction

From: Matthew Wilcox
Date: Fri May 05 2023 - 01:28:30 EST


On Fri, May 05, 2023 at 06:49:49AM +0200, Andreas Hindborg wrote:
>
> Matthew Wilcox <willy@xxxxxxxxxxxxx> writes:
>
> > On Wed, May 03, 2023 at 11:06:58AM +0200, Andreas Hindborg wrote:
> >> From: Andreas Hindborg <a.hindborg@xxxxxxxxxxx>
> >>
> >> Add abstractions for the C radix_tree. This abstraction allows Rust code to use
> >> the radix_tree as a map from `u64` keys to `ForeignOwnable` values.
> >
> > Please, no. The XArray interface is the preferred one; the radix tree
> > is legacy. Don't make Rust code use the radix tree. It has the GFP
> > arguments in the wrong place, for one thing.
>
> I have a similar argument to not using xarrray as to not using folios,
> see my other response. But the Rust xarray API is in the works [1].

But the radix tree API is simply a different (and worse) API to the
exact same data structure as the XArray. Using the XArray instead of
the radix tree is still an apples-to-apples comparison.