Messages in this thread | | | Date | Tue, 31 Jan 2023 15:54:58 +0800 | Subject | Re: [PATCH V4 0/7] iommu/vt-d: Support performance monitoring for IOMMU | From | Baolu Lu <> |
| |
On 2023/1/29 4:04, kan.liang@linux.intel.com wrote: > From: Kan Liang<kan.liang@linux.intel.com> > > Changes since V3: > - Fix issues found by "./scripts/checkpatch.pl --strict" scripts > Doesn't fix the "macros should not use a trailing semicolon" warning, > since the macros has to include several struct and functions to > further reduce the code duplication. > - To fix the 0 value filter issue, introduce new "*_filter_en" attrs > for each filter. The end user must set both filter_en and filter > to utilize a filter. > - Re-organize the layout of config1 and config2. > > Changes since V2: > - Move ecmd_submit_sync() to iommu.c to avoid #ifdef CONFIG_INTEL_IOMMU > > Changes since V1: > - The cap and ecap registers are always in the first page. It's not > necessary to use the reg size in dmar_validate_one_drhd(). (Patch 1) > - Move reg_size up and pair it with reg_base_addr in struct > dmar_drhd_unit (Patch 1) > - Update the year of Copyright (Patch 2) > - Return 0 if PMS is not supported (Patch 2) > - Refine the comments and add a pr_warn for per-counter capabilities > check (Patch 2) > - Remove unnecessary iommu_pmu->num_cntr = i (Patch 2) > - Remove has_ob of ecmd_submit_sync() (Patch 3) > - Remove the helpers from non-INTEL_IOMMU. (Patch 3) > - Still keep #ifdef CONFIG_INTEL_IOMMU for ecmd_submit_sync() to > avoid compile warning with non-INTEL_IOMMU config. > - Use pr_warn_once() to replace WARN_ONCE() (Patch 4 & 6) > - Free iommu PMU if it fails to be registered. (Patch 4) > - Remove unnecessary 'handled' variable. (Patch 6) > > A performance monitoring infrastructure, perfmon, is introduced with > the VT-d Spec 4.0. The purpose of perfmon is to support collection of > information about key events occurring during operation of the remapping > hardware, to aid performance tuning and debug. The patch series is to > support the perfmon for IOMMU. > > To facilitate the perfmon support, the patch series also supports two > new generic features of VT-d Spec 4.0. > - Support the 'size' field to retrieve the accurate size of the register > set for each dmar device from DRHD. (Patch 1) > - Support the new Enhanced Command Interface. (Patch 3) > > With the patch series, users can collect the performance data of IOMMU > via Linux perf tool. For example, > > $ perf stat -e dmar1/iommu_requests,filter_ats_en=0x1,filter_ats=0x1/ > -a sleep 1 > > Performance counter stats for 'system wide': > > 368,947 dmar1/iommu_requests,filter_ats_en=0x1,filter_ats=0x1/ > > 1.002592074 seconds time elapsed > > Kan Liang (7): > iommu/vt-d: Support size of the register set in DRHD > iommu/vt-d: Retrieve IOMMU perfmon capability information > iommu/vt-d: Support Enhanced Command Interface > iommu/vt-d: Add IOMMU perfmon support > iommu/vt-d: Support cpumask for IOMMU perfmon > iommu/vt-d: Add IOMMU perfmon overflow handler support > iommu/vt-d: Enable IOMMU perfmon support
Patches queued for v6.3. Thank you!
https://lore.kernel.org/linux-iommu/20230131073740.378984-1-baolu.lu@linux.intel.com/
Best regards, baolu
| |