Robin Murphy 371d7955e3 iommu/iova: Improve restart logic
When restarting after searching below the cached node fails, resetting
the start point to the anchor node is often overly pessimistic. If
allocations are made with mixed limits - particularly in the case of the
opportunistic 32-bit allocation for PCI devices - this could mean
significant time wasted walking through the whole populated upper range
just to reach the initial limit. We can improve on that by implementing
a proper tree traversal to find the first node above the relevant limit,
and set the exact start point.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/076b3484d1e5057b95d8c387c894bd6ad2514043.1614962123.git.robin.murphy@arm.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2021-03-18 11:01:09 +01:00
..
2020-12-16 13:58:47 -08:00
2020-11-23 14:16:55 +00:00
2020-11-23 14:16:55 +00:00
2020-11-23 14:16:55 +00:00
2021-03-18 11:01:09 +01:00
2020-11-23 14:16:55 +00:00
2021-01-28 20:29:56 +00:00
2021-02-01 11:31:19 +00:00