diff options
author | Will Deacon <will@kernel.org> | 2019-08-20 16:28:54 +0100 |
---|---|---|
committer | Will Deacon <will@kernel.org> | 2019-08-22 18:16:11 +0100 |
commit | cdb8a3c3463563b7bdb6f653bf4b0ffa3a95f366 (patch) | |
tree | eef77dbb6f7518f0d9756bbe5cf061d54ebc1e9d /tools/perf/scripts/python/check-perf-trace.py | |
parent | 353e3cf8590cf182a9f42e67993de3aca91e8090 (diff) |
iommu/arm-smmu-v3: Avoid locking on invalidation path when not using ATS
When ATS is not in use, we can avoid taking the 'devices_lock' for the
domain on the invalidation path by simply caching the number of ATS
masters currently attached. The fiddly part is handling a concurrent
->attach() of an ATS-enabled master to a domain that is being
invalidated, but we can handle this using an 'smp_mb()' to ensure that
our check of the count is ordered after completion of our prior TLB
invalidation.
This also makes our ->attach() and ->detach() flows symmetric wrt ATS
interactions.
Acked-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/check-perf-trace.py')
0 files changed, 0 insertions, 0 deletions