mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-04 17:44:14 +08:00
a6a5006dad
The performance monitoring infrastructure, perfmon, is to support collection of information about key events occurring during operation of the remapping hardware, to aid performance tuning and debug. Each remapping hardware unit has capability registers that indicate support for performance monitoring features and enumerate the capabilities. Add alloc_iommu_pmu() to retrieve IOMMU perfmon capability information for each iommu unit. The information is stored in the iommu->pmu data structure. Capability registers are read-only, so it's safe to prefetch and store them in the pmu structure. This could avoid unnecessary VMEXIT when this code is running in the virtualization environment. Add free_iommu_pmu() to free the saved capability information when freeing the iommu unit. Add a kernel config option for the IOMMU perfmon feature. Unless a user explicitly uses the perf tool to monitor the IOMMU perfmon event, there isn't any impact for the existing IOMMU. Enable it by default. Signed-off-by: Kan Liang <kan.liang@linux.intel.com> Link: https://lore.kernel.org/r/20230128200428.1459118-3-kan.liang@linux.intel.com Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com> Signed-off-by: Joerg Roedel <jroedel@suse.de>
10 lines
377 B
Makefile
10 lines
377 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
obj-$(CONFIG_DMAR_TABLE) += dmar.o
|
|
obj-$(CONFIG_INTEL_IOMMU) += iommu.o pasid.o
|
|
obj-$(CONFIG_DMAR_TABLE) += trace.o cap_audit.o
|
|
obj-$(CONFIG_DMAR_PERF) += perf.o
|
|
obj-$(CONFIG_INTEL_IOMMU_DEBUGFS) += debugfs.o
|
|
obj-$(CONFIG_INTEL_IOMMU_SVM) += svm.o
|
|
obj-$(CONFIG_IRQ_REMAP) += irq_remapping.o
|
|
obj-$(CONFIG_INTEL_IOMMU_PERF_EVENTS) += perfmon.o
|