lkml.org 
[lkml]   [2023]   [Jan]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH V4 0/7] iommu/vt-d: Support performance monitoring for IOMMU
From
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

\
 
 \ /
  Last update: 2023-03-27 00:03    [W:0.123 / U:0.040 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site