aboutsummaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/call-graph-from-postgresql.py
diff options
context:
space:
mode:
authorOmer Peleg <[email protected]>2016-04-20 11:33:02 +0300
committerDavid Woodhouse <[email protected]>2016-04-20 15:05:24 -0400
commitaa4732406e1290dd18a8d2078977996c152a4be7 (patch)
treeb519ee167a833e90bdbbc849fa19a127b2a5ea58 /tools/perf/scripts/python/call-graph-from-postgresql.py
parent314f1dc140844a73034e285ddac92b9e1ffecb5b (diff)
iommu/vt-d: per-cpu deferred invalidation queues
The IOMMU's IOTLB invalidation is a costly process. When iommu mode is not set to "strict", it is done asynchronously. Current code amortizes the cost of invalidating IOTLB entries by batching all the invalidations in the system and performing a single global invalidation instead. The code queues pending invalidations in a global queue that is accessed under the global "async_umap_flush_lock" spinlock, which can result is significant spinlock contention. This patch splits this deferred queue into multiple per-cpu deferred queues, and thus gets rid of the "async_umap_flush_lock" and its contention. To keep existing deferred invalidation behavior, it still invalidates the pending invalidations of all CPUs whenever a CPU reaches its watermark or a timeout occurs. Signed-off-by: Omer Peleg <[email protected]> [[email protected]: rebased, cleaned up and reworded the commit message] Signed-off-by: Adam Morrison <[email protected]> Reviewed-by: Shaohua Li <[email protected]> Reviewed-by: Ben Serebrin <[email protected]> Signed-off-by: David Woodhouse <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/call-graph-from-postgresql.py')
0 files changed, 0 insertions, 0 deletions