summaryrefslogtreecommitdiff
path: root/include/linux/iova.h
diff options
context:
space:
mode:
authorRobin Murphy <robin.murphy@arm.com>2021-03-05 16:35:23 +0000
committerJoerg Roedel <jroedel@suse.de>2021-03-18 11:01:09 +0100
commit371d7955e3102fe38daf06de4ed9bfd29864354b (patch)
treed36edbb58f5b8083fcd0350d192b92a73c836384 /include/linux/iova.h
parent7ae31cec5b70e301788b95de543abb56748dcfb6 (diff)
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>
Diffstat (limited to 'include/linux/iova.h')
0 files changed, 0 insertions, 0 deletions