diff options
author | Marc Zyngier <maz@kernel.org> | 2023-02-14 21:38:13 +0800 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2023-03-06 17:03:56 -0500 |
commit | 41e2787f5ec4249cb2e77a3ebd3c49035e3c6535 (patch) | |
tree | 8d32fdd814157d6c9466106d60a0abdbae94bb9a /tools/u_boot_pylib/test_util.py | |
parent | 2c0bdcacf3bb4045d96d567c114606acf1a9b257 (diff) |
arm64: Reduce add_map() complexity
In the add_map() function, for each level it populates, it iterates from
the root of the PT tree, making it ineficient if a mapping needs to occur
past level 1.
Instead, replace it with a recursive (and much simpler) algorithm
that keeps the complexity as low as possible. With this, mapping
512GB at level 2 goes from several seconds down to not measurable
on an A55 machine.
We keep the block mappings at level 1 for now though.
Signed-off-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Pierre-Clément Tosi <ptosi@google.com>
[ Paul: pick from the Android tree. Fixup Pierre's commit. Rebase to the
upstream ]
Signed-off-by: Ying-Chun Liu (PaulLiu) <paul.liu@linaro.org>
Cc: Tom Rini <trini@konsulko.com>
Link: https://android.googlesource.com/platform/external/u-boot/+/96ad729cf4cab53bdff8222bb3eb256f38b5c3a6
Link: https://android.googlesource.com/platform/external/u-boot/+/6be9330601d81545c7c941e3609f35bf68a09059
Diffstat (limited to 'tools/u_boot_pylib/test_util.py')
0 files changed, 0 insertions, 0 deletions