Matthew Wilcox
4bcde29edc
BACKPORT: xarray: Replace exceptional entries
...
Introduce xarray value entries and tagged pointers to replace radix
tree exceptional entries. This is a slight change in encoding to allow
the use of an extra bit (we can now store BITS_PER_LONG - 1 bits in a
value entry). It is also a change in emphasis; exceptional entries are
intimidating and different. As the comment explains, you can choose
to store values or pointers in the xarray and they are both first-class
citizens.
Change-Id: I24a3019e30f4cfe176e5d750b3466317d62e60bc
Signed-off-by: Matthew Wilcox <willy@infradead.org >
Reviewed-by: Josef Bacik <jbacik@fb.com >
2026-05-31 11:15:37 +01:00
..
2026-05-31 11:15:37 +01:00
2026-05-31 11:15:37 +01:00
2022-06-25 11:49:00 +02:00
2018-07-30 22:48:13 +10:00
2018-07-30 22:48:16 +10:00
2018-07-30 22:48:16 +10:00
2019-12-01 09:17:46 +01:00
2018-08-17 11:32:50 -07:00
2021-07-20 16:16:03 +02:00
2021-01-06 14:44:59 +01:00
2018-06-04 00:39:19 +10:00
2019-07-31 07:27:02 +02:00
2018-06-04 00:39:19 +10:00
2018-07-30 22:48:16 +10:00
2018-08-08 00:32:25 +10:00
2021-11-26 11:36:17 +01:00
2024-07-18 11:39:31 +02:00
2018-08-17 16:20:28 -07:00
2021-03-24 11:07:34 +01:00
2018-07-31 19:56:44 +10:00
2020-12-30 11:25:55 +01:00
2018-07-30 22:47:54 +10:00
2018-07-30 22:48:17 +10:00
2021-03-30 14:36:57 +02:00
2018-07-30 22:48:18 +10:00
2025-10-16 21:01:06 +01:00
2020-11-05 11:08:51 +01:00
2018-07-30 22:48:17 +10:00
2018-07-02 23:54:26 +10:00
2022-05-01 17:00:36 +02:00
2019-02-12 19:47:16 +01:00
2020-11-22 10:02:26 +01:00
2018-07-30 22:48:17 +10:00
2025-09-30 21:35:04 +01:00
2018-06-03 20:32:02 +10:00
2020-11-22 10:02:25 +01:00
2018-06-07 10:23:33 -07:00
2018-08-07 21:49:38 +10:00
2018-07-30 22:48:20 +10:00
2018-08-10 22:12:35 +10:00
2024-07-05 09:00:27 +02:00
2018-08-17 11:32:50 -07:00
2018-07-24 22:03:14 +10:00
2018-06-03 20:43:37 +10:00
2024-07-18 11:39:33 +02:00
2018-09-12 08:49:54 +10:00
2018-07-30 22:48:16 +10:00
2020-01-27 14:50:00 +01:00
2018-06-21 12:33:15 +02:00
2025-09-30 21:35:04 +01:00
2020-10-01 13:14:38 +02:00
2019-09-16 08:22:18 +02:00
2019-09-16 08:22:18 +02:00
2018-07-30 22:48:17 +10:00
2019-09-16 08:22:18 +02:00
2020-08-26 10:31:07 +02:00
2020-01-09 10:19:08 +01:00
2021-03-17 16:43:45 +01:00
2020-11-05 11:08:38 +01:00
2024-02-23 08:12:43 +01:00
2024-02-23 08:12:43 +01:00
2018-06-11 09:16:29 +09:00
2018-11-13 11:08:50 -08:00
2018-06-19 23:03:50 +10:00
2018-08-08 00:32:34 +10:00
2019-10-01 08:26:00 +02:00
2018-08-07 21:49:29 +10:00
2018-07-30 22:48:16 +10:00
2023-08-30 16:31:44 +02:00
2020-08-21 11:05:31 +02:00
2025-09-30 21:35:04 +01:00
2018-07-24 21:43:24 +10:00
2018-06-03 20:40:25 +10:00
2018-06-03 20:40:32 +10:00
2018-07-02 23:54:32 +10:00
2019-03-23 20:10:07 +01:00
2019-04-03 06:26:19 +02:00
2022-06-25 11:49:17 +02:00
2020-06-25 15:32:56 +02:00
2021-07-20 16:16:09 +02:00
2021-11-06 13:58:45 +01:00
2018-07-30 22:48:16 +10:00
2018-07-30 22:48:16 +10:00
2019-05-16 19:41:31 +02:00
2024-04-13 12:50:05 +02:00
2020-10-29 09:55:18 +01:00
2018-06-03 20:43:33 +10:00
2025-10-17 16:56:58 +01:00
2021-11-26 11:36:17 +01:00
2020-04-17 10:48:54 +02:00
2020-11-22 10:02:26 +01:00
2019-12-13 08:52:25 +01:00
2018-07-24 22:03:14 +10:00
2018-07-24 22:03:17 +10:00
2020-01-12 12:17:23 +01:00
2024-12-05 10:59:35 +01:00
2023-08-30 16:31:52 +02:00
2018-08-08 00:32:30 +10:00
2018-08-07 21:49:30 +10:00
2018-06-03 20:40:31 +10:00
2018-07-30 22:48:17 +10:00
2018-06-23 21:43:21 +10:00
2018-07-30 22:48:17 +10:00
2018-06-03 20:43:34 +10:00
2022-06-25 11:49:09 +02:00
2025-09-30 21:35:04 +01:00
2018-07-30 22:48:21 +10:00
2019-04-05 22:33:13 +02:00
2026-05-07 10:55:15 +02:00
2018-06-23 21:43:21 +10:00
2019-12-17 20:35:40 +01:00
2024-12-05 10:59:33 +01:00
2023-08-11 11:45:36 +02:00
2018-06-03 20:43:35 +10:00
2018-08-07 21:49:28 +10:00