2023-03-08 09:50:18

by James Clark

[permalink] [raw]
Subject: [PATCH 1/2] perf cs-etm: Reduce verbosity of ts_source warning

This is printed as a warning but it is normal behavior that users
shouldn't be expected to do anything about. Reduce the warning level to
debug3 so it's only seen in verbose mode to avoid confusion.

Signed-off-by: James Clark <[email protected]>
---
tools/perf/arch/arm/util/cs-etm.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tools/perf/arch/arm/util/cs-etm.c b/tools/perf/arch/arm/util/cs-etm.c
index 7f71c8a237ff..59b50dd70330 100644
--- a/tools/perf/arch/arm/util/cs-etm.c
+++ b/tools/perf/arch/arm/util/cs-etm.c
@@ -694,8 +694,8 @@ static void cs_etm_save_etmv4_header(__u64 data[], struct auxtrace_record *itr,
data[CS_ETMV4_TS_SOURCE] = (__u64) cs_etm_get_ro_signed(cs_etm_pmu, cpu,
metadata_etmv4_ro[CS_ETMV4_TS_SOURCE]);
else {
- pr_warning("[%03d] pmu file 'ts_source' not found. Fallback to safe value (-1)\n",
- cpu);
+ pr_debug3("[%03d] pmu file 'ts_source' not found. Fallback to safe value (-1)\n",
+ cpu);
data[CS_ETMV4_TS_SOURCE] = (__u64) -1;
}
}
@@ -729,8 +729,8 @@ static void cs_etm_save_ete_header(__u64 data[], struct auxtrace_record *itr, in
data[CS_ETE_TS_SOURCE] = (__u64) cs_etm_get_ro_signed(cs_etm_pmu, cpu,
metadata_ete_ro[CS_ETE_TS_SOURCE]);
else {
- pr_warning("[%03d] pmu file 'ts_source' not found. Fallback to safe value (-1)\n",
- cpu);
+ pr_debug3("[%03d] pmu file 'ts_source' not found. Fallback to safe value (-1)\n",
+ cpu);
data[CS_ETE_TS_SOURCE] = (__u64) -1;
}
}
--
2.34.1



2023-03-08 09:50:22

by James Clark

[permalink] [raw]
Subject: [PATCH 2/2] perf cs-etm: Avoid printing warning in cs_etm_is_ete() check

When checking for the presence of ETE, a register is read that may not
be present on older kernels or if ETE isn't available. cs_etm_get_ro()
will print a warning if it doesn't exist, so check for the existence
first before accessing it.

Signed-off-by: James Clark <[email protected]>
---
tools/perf/arch/arm/util/cs-etm.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/tools/perf/arch/arm/util/cs-etm.c b/tools/perf/arch/arm/util/cs-etm.c
index 59b50dd70330..86b61ad74f90 100644
--- a/tools/perf/arch/arm/util/cs-etm.c
+++ b/tools/perf/arch/arm/util/cs-etm.c
@@ -659,8 +659,12 @@ static bool cs_etm_is_ete(struct auxtrace_record *itr, int cpu)
{
struct cs_etm_recording *ptr = container_of(itr, struct cs_etm_recording, itr);
struct perf_pmu *cs_etm_pmu = ptr->cs_etm_pmu;
- int trcdevarch = cs_etm_get_ro(cs_etm_pmu, cpu, metadata_ete_ro[CS_ETE_TRCDEVARCH]);
+ int trcdevarch;

+ if (!cs_etm_pmu_path_exists(cs_etm_pmu, cpu, metadata_ete_ro[CS_ETE_TRCDEVARCH]))
+ return false;
+
+ trcdevarch = cs_etm_get_ro(cs_etm_pmu, cpu, metadata_ete_ro[CS_ETE_TRCDEVARCH]);
/*
* ETE if ARCHVER is 5 (ARCHVER is 4 for ETM) and ARCHPART is 0xA13.
* See ETM_DEVARCH_ETE_ARCH in coresight-etm4x.h
--
2.34.1


2023-03-08 11:47:07

by Leo Yan

[permalink] [raw]
Subject: Re: [PATCH 1/2] perf cs-etm: Reduce verbosity of ts_source warning

On Wed, Mar 08, 2023 at 09:48:42AM +0000, James Clark wrote:
> This is printed as a warning but it is normal behavior that users
> shouldn't be expected to do anything about. Reduce the warning level to
> debug3 so it's only seen in verbose mode to avoid confusion.
>
> Signed-off-by: James Clark <[email protected]>

Reviewed-by: Leo Yan <[email protected]

2023-03-08 11:49:03

by Leo Yan

[permalink] [raw]
Subject: Re: [PATCH 2/2] perf cs-etm: Avoid printing warning in cs_etm_is_ete() check

On Wed, Mar 08, 2023 at 09:48:43AM +0000, James Clark wrote:
> When checking for the presence of ETE, a register is read that may not
> be present on older kernels or if ETE isn't available. cs_etm_get_ro()
> will print a warning if it doesn't exist, so check for the existence
> first before accessing it.
>
> Signed-off-by: James Clark <[email protected]>

Reviewed-by: Leo Yan <[email protected]>

2023-03-13 19:10:22

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH 1/2] perf cs-etm: Reduce verbosity of ts_source warning

Em Wed, Mar 08, 2023 at 07:46:44PM +0800, Leo Yan escreveu:
> On Wed, Mar 08, 2023 at 09:48:42AM +0000, James Clark wrote:
> > This is printed as a warning but it is normal behavior that users
> > shouldn't be expected to do anything about. Reduce the warning level to
> > debug3 so it's only seen in verbose mode to avoid confusion.
> >
> > Signed-off-by: James Clark <[email protected]>
>
> Reviewed-by: Leo Yan <[email protected]

Thanks, applied both patches.

- Arnaldo