Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3658749a authored by Chintan Pandya's avatar Chintan Pandya Committed by Shiraz Hashim
Browse files

iommu: msm: flush page tables at the end after map/unmap



Flushing the cache for each PTE update could be very time
consuming if the number of PTEs getting updated are in
order of few thousands. Instead, don't perform cache ops
for each PTE update and flush the updated page table once
at the end of map/unmap routine. This saves roughly 60%
of the total time spent by map/unmap calls. Few numbers
with/without this optimization applied.

Numebrs are taken at Cortex-A53 single core clocked at
1.2 GHz.

AARCH64 (without optimization)
    size iommu_map_range  iommu_unmap
     64K           14 us         9 us
      2M          176 us        16 us
     12M         1016 us        54 us
     20M         1809 us       100 us

AARCH64 (with optimization)
    size iommu_map_range  iommu_unmap
     64K           18 us        12 us
      2M           77 us        18 us
     12M          396 us        47 us
     20M          648 us        73 us

Change-Id: I5c5f9e5cec5a7aed5b478be52d943fcaa1c0ed84
Signed-off-by: default avatarChintan Pandya <cpandya@codeaurora.org>
parent 8f2d7b1f
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment