[PATCH v1 1/9] perf: arm_spe: Introduce 'lds' capacity

Will Deacon will at kernel.org
Fri Aug 30 03:38:34 PDT 2024


On Tue, Aug 27, 2024 at 05:44:09PM +0100, Leo Yan wrote:
> This commit adds a new entry 'lds' in the capacity folder. 'lds' stands
> for "loaded data source". When its value is 1, it indicates the data
> source implemented, and data source packets will be recorded in the
> trace data.
> 
> Signed-off-by: Leo Yan <leo.yan at arm.com>
> ---
>  drivers/perf/arm_spe_pmu.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/perf/arm_spe_pmu.c b/drivers/perf/arm_spe_pmu.c
> index 9100d82bfabc..81c1e7627721 100644
> --- a/drivers/perf/arm_spe_pmu.c
> +++ b/drivers/perf/arm_spe_pmu.c
> @@ -110,6 +110,7 @@ enum arm_spe_pmu_buf_fault_action {
>  /* This sysfs gunk was really good fun to write. */
>  enum arm_spe_pmu_capabilities {
>  	SPE_PMU_CAP_ARCH_INST = 0,
> +	SPE_PMU_CAP_LDS,
>  	SPE_PMU_CAP_ERND,
>  	SPE_PMU_CAP_FEAT_MAX,
>  	SPE_PMU_CAP_CNT_SZ = SPE_PMU_CAP_FEAT_MAX,
> @@ -118,6 +119,7 @@ enum arm_spe_pmu_capabilities {
>  
>  static int arm_spe_pmu_feat_caps[SPE_PMU_CAP_FEAT_MAX] = {
>  	[SPE_PMU_CAP_ARCH_INST]	= SPE_PMU_FEAT_ARCH_INST,
> +	[SPE_PMU_CAP_LDS]	= SPE_PMU_FEAT_LDS,
>  	[SPE_PMU_CAP_ERND]	= SPE_PMU_FEAT_ERND,
>  };
>  
> @@ -160,6 +162,7 @@ static ssize_t arm_spe_pmu_cap_show(struct device *dev,
>  
>  static struct attribute *arm_spe_pmu_cap_attr[] = {
>  	SPE_CAP_EXT_ATTR_ENTRY(arch_inst, SPE_PMU_CAP_ARCH_INST),
> +	SPE_CAP_EXT_ATTR_ENTRY(lds, SPE_PMU_CAP_LDS),
>  	SPE_CAP_EXT_ATTR_ENTRY(ernd, SPE_PMU_CAP_ERND),
>  	SPE_CAP_EXT_ATTR_ENTRY(count_size, SPE_PMU_CAP_CNT_SZ),
>  	SPE_CAP_EXT_ATTR_ENTRY(min_interval, SPE_PMU_CAP_MIN_IVAL),

What will userspace do with this? I don't think you can turn LDS on/off,
so either you'll get the data source packet or you won't.

Will



More information about the linux-arm-kernel mailing list