* [RFC PATCH 0/2] Documentation: maple_tree: Improve statements on reserved values
@ 2026-04-18 20:47 Wei-Lin Chang
2026-04-18 20:47 ` [RFC PATCH 1/2] Documentation: maple_tree: Point out constraint when using xa_{mk, to}_value Wei-Lin Chang
2026-04-18 20:47 ` [RFC PATCH 2/2] Documentation: maple_tree: Clarify behavior when using reserved values Wei-Lin Chang
0 siblings, 2 replies; 3+ messages in thread
From: Wei-Lin Chang @ 2026-04-18 20:47 UTC (permalink / raw)
To: maple-tree, linux-mm, linux-doc, linux-kernel
Cc: Liam R . Howlett, Alice Ryhl, Andrew Ballance, Jonathan Corbet,
Shuah Khan, Wei-Lin Chang
Hi,
While using the maple tree and reading its documentation, I found a few
bits confusing, mainly about the reserved values. So here are some
changes hoping to make things clearer.
I am not familiar with the implementation, so I might be getting things
wrong, hence this being RFC.
While looking at the code I also found that although the doc claims the
normal API blocks reserved value stores, the code checks this using
xa_is_advanced(), which only blocks values up to 1026, not up to the max
maple tree reserved value 4094. For this part I am not sure whether the
code needs to be changed or we can also improve the doc.
Any feedback is appreciated, thanks!
Wei-Lin Chang (2):
Documentation: maple_tree: Point out constraint when using xa_{mk,
to}_value
Documentation: maple_tree: Clarify behavior when using reserved values
Documentation/core-api/maple_tree.rst | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
--
2.43.0
^ permalink raw reply [flat|nested] 3+ messages in thread* [RFC PATCH 1/2] Documentation: maple_tree: Point out constraint when using xa_{mk, to}_value
2026-04-18 20:47 [RFC PATCH 0/2] Documentation: maple_tree: Improve statements on reserved values Wei-Lin Chang
@ 2026-04-18 20:47 ` Wei-Lin Chang
2026-04-18 20:47 ` [RFC PATCH 2/2] Documentation: maple_tree: Clarify behavior when using reserved values Wei-Lin Chang
1 sibling, 0 replies; 3+ messages in thread
From: Wei-Lin Chang @ 2026-04-18 20:47 UTC (permalink / raw)
To: maple-tree, linux-mm, linux-doc, linux-kernel
Cc: Liam R . Howlett, Alice Ryhl, Andrew Ballance, Jonathan Corbet,
Shuah Khan, Wei-Lin Chang
Using xa_{mk, to}_value when storing values loses the information of
the top bit from the left shift, point that out in the doc.
Signed-off-by: Wei-Lin Chang <weilin.chang@arm.com>
---
Documentation/core-api/maple_tree.rst | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/Documentation/core-api/maple_tree.rst b/Documentation/core-api/maple_tree.rst
index ccdd1615cf97..15eda6742af8 100644
--- a/Documentation/core-api/maple_tree.rst
+++ b/Documentation/core-api/maple_tree.rst
@@ -28,10 +28,11 @@ virtual memory areas.
The Maple Tree can store values between ``0`` and ``ULONG_MAX``. The Maple
Tree reserves values with the bottom two bits set to '10' which are below 4096
(ie 2, 6, 10 .. 4094) for internal use. If the entries may use reserved
-entries then the users can convert the entries using xa_mk_value() and convert
-them back by calling xa_to_value(). If the user needs to use a reserved
-value, then the user can convert the value when using the
-:ref:`maple-tree-advanced-api`, but are blocked by the normal API.
+entries under the condition that their top bits are never 1, then the user can
+convert the entries using xa_mk_value() and convert them back by calling
+xa_to_value(). If the user needs to use a reserved value, then the user can
+convert the value when using the :ref:`maple-tree-advanced-api`, but are blocked
+by the normal API.
The Maple Tree can also be configured to support searching for a gap of a given
size (or larger).
--
2.43.0
^ permalink raw reply [flat|nested] 3+ messages in thread* [RFC PATCH 2/2] Documentation: maple_tree: Clarify behavior when using reserved values
2026-04-18 20:47 [RFC PATCH 0/2] Documentation: maple_tree: Improve statements on reserved values Wei-Lin Chang
2026-04-18 20:47 ` [RFC PATCH 1/2] Documentation: maple_tree: Point out constraint when using xa_{mk, to}_value Wei-Lin Chang
@ 2026-04-18 20:47 ` Wei-Lin Chang
1 sibling, 0 replies; 3+ messages in thread
From: Wei-Lin Chang @ 2026-04-18 20:47 UTC (permalink / raw)
To: maple-tree, linux-mm, linux-doc, linux-kernel
Cc: Liam R . Howlett, Alice Ryhl, Andrew Ballance, Jonathan Corbet,
Shuah Khan, Wei-Lin Chang
It doesn't matter whether the normal or the advanced API is used if the
user uses xa_{mk, to}_value when storing and retrieving the values. Just
specify that the normal API blocks usages of reserved values while the
advanced API does not.
Signed-off-by: Wei-Lin Chang <weilin.chang@arm.com>
---
Documentation/core-api/maple_tree.rst | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/Documentation/core-api/maple_tree.rst b/Documentation/core-api/maple_tree.rst
index 15eda6742af8..54ea99c7bca7 100644
--- a/Documentation/core-api/maple_tree.rst
+++ b/Documentation/core-api/maple_tree.rst
@@ -30,9 +30,8 @@ Tree reserves values with the bottom two bits set to '10' which are below 4096
(ie 2, 6, 10 .. 4094) for internal use. If the entries may use reserved
entries under the condition that their top bits are never 1, then the user can
convert the entries using xa_mk_value() and convert them back by calling
-xa_to_value(). If the user needs to use a reserved value, then the user can
-convert the value when using the :ref:`maple-tree-advanced-api`, but are blocked
-by the normal API.
+xa_to_value(). Usage of reserved values is blocked by the normal API, and will
+cause undefined behavior if used with the :ref:`maple-tree-advanced-api`.
The Maple Tree can also be configured to support searching for a gap of a given
size (or larger).
--
2.43.0
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-04-18 20:50 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-04-18 20:47 [RFC PATCH 0/2] Documentation: maple_tree: Improve statements on reserved values Wei-Lin Chang
2026-04-18 20:47 ` [RFC PATCH 1/2] Documentation: maple_tree: Point out constraint when using xa_{mk, to}_value Wei-Lin Chang
2026-04-18 20:47 ` [RFC PATCH 2/2] Documentation: maple_tree: Clarify behavior when using reserved values Wei-Lin Chang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox