Re: [PATCH 02/10] maple_tree: Drop mtree_alloc_{range,rrange}() and related functions.

From: Peng Zhang
Date: Mon May 15 2023 - 20:40:09 EST




在 2023/5/16 01:35, Liam R. Howlett 写道:
* Matthew Wilcox <willy@xxxxxxxxxxxxx> [230515 13:27]:
On Mon, May 15, 2023 at 09:17:49PM +0800, Peng Zhang wrote:
Drop mtree_alloc_{range,rrange}(), mas_{rev_}alloc() and mas_fill_gap().
mtree_alloc_{range,rrange}() currently have no users and can be easily
implemented with mas_empty_area{_rev}(). mas_{rev_}alloc() and
mas_fill_gap() are just their internal functions, drop them together.

No, I think this is the wrong way to go.

Most users should not be using the mas_* API. These are the advanced
APIs. Most users will want to use mtree_alloc_range(). Just like most
users of the XArray use the xa_insert() API rather than open-coding the
xa_state and calling the xas_* APIs.

Please read Documentation/core-api/xarray.rst and maple_tree.rst for more
details on Normal vs Advanced API. The real problem is that we have so
few users today, so you haven't seen that most people don't want to use
the advanced APIs.


Peng, Apologies on the confusion. Please do as Matthew said. If you
have a way to unify the functionality to use the same internal
functions, then I think that would be a welcome change.

I will implement new mtree_alloc_{range,rrange}() using other internal functions.