Pankaj Raghav 786bb02458 brd: use XArray instead of radix-tree to index backing pages
XArray was introduced to hold large array of pointers with a simple API.
XArray API also provides array semantics which simplifies the way we store
and access the backing pages, and the code becomes significantly easier
to understand.

No performance difference was noticed between the two implementation
using fio with direct=1 [1].

[1] Performance in KIOPS:

          |  radix-tree |    XArray  |   Diff
          |             |            |
write     |    315      |     313    |   -0.6%
randwrite |    286      |     290    |   +1.3%
read      |    330      |     335    |   +1.5%
randread  |    309      |     312    |   +0.9%

Signed-off-by: Pankaj Raghav <p.raghav@samsung.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Link: https://lore.kernel.org/r/20230511121544.111648-1-p.raghav@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2023-05-16 09:03:23 -06:00
..
2023-04-27 11:53:57 -07:00
2023-04-27 11:53:57 -07:00
2023-04-27 16:36:55 -07:00
2023-05-02 10:41:31 -07:00
2023-04-27 11:53:57 -07:00
2023-04-27 11:53:57 -07:00
2023-05-03 11:11:56 -07:00
2023-04-27 11:53:57 -07:00
2023-04-27 12:07:50 -07:00
2023-05-03 11:00:27 -07:00
2023-04-27 11:53:57 -07:00
2023-04-27 10:09:05 -07:00
2023-04-27 17:17:12 -07:00
2023-04-19 15:08:11 +02:00
2023-04-27 12:07:50 -07:00
2023-05-01 17:18:56 -07:00
2023-04-27 16:36:55 -07:00
2023-04-30 13:00:38 -07:00
2023-05-05 19:12:01 -07:00
2023-05-02 10:36:02 -07:00
2023-04-28 16:24:32 -07:00
2023-05-06 08:28:58 -07:00
2023-04-25 12:02:16 -07:00
2023-04-28 14:02:54 -07:00
2023-05-02 10:41:31 -07:00
2023-04-28 14:02:54 -07:00
2023-04-27 11:46:26 -07:00
2023-05-07 10:00:09 -07:00
2023-04-27 16:36:55 -07:00
2023-05-05 13:27:59 -07:00
2023-04-27 10:09:05 -07:00
2023-04-30 11:51:51 -07:00
2023-05-05 11:57:29 -07:00
2023-04-27 11:53:57 -07:00
2023-05-03 11:25:01 -07:00
2023-04-27 16:36:55 -07:00
2023-04-27 11:53:57 -07:00
2023-05-02 10:41:31 -07:00
2023-04-27 11:53:57 -07:00
2023-05-06 08:37:28 -07:00
2023-04-27 16:36:55 -07:00
2023-04-27 12:07:50 -07:00
2023-04-27 16:36:55 -07:00
2023-04-27 11:53:57 -07:00
2023-04-27 12:07:50 -07:00
2023-04-27 12:07:50 -07:00
2023-05-02 11:56:43 -07:00
2023-04-28 14:53:30 -07:00
2023-04-27 10:09:05 -07:00
2023-04-27 12:07:50 -07:00
2023-05-04 18:33:56 -07:00
2023-04-27 17:27:06 -07:00