diff mbox series

[v2] perf: cs-etm: Improve missing sink warning message

Message ID 20230124110220.460551-1-james.clark@arm.com (mailing list archive)
State New, archived
Headers show
Series [v2] perf: cs-etm: Improve missing sink warning message | expand

Commit Message

James Clark Jan. 24, 2023, 11:02 a.m. UTC
Make the sink error message more similar to the event error message that
reminds about missing kernel support. The available sinks are also
determined by the hardware so mention that too.

Also, usually it's not necessary to specify the sink, so add that as a
hint.

Now the error for a made up sink looks like this:

  $ perf record -e cs_etm/@abc/
  Couldn't find sink "abc" on event cs_etm/@abc/.
  Missing kernel or device support?

  Hint: An appropriate sink will be picked automatically if one isn't is specified.

For any error other than ENOENT, the same message as before is
displayed.

Signed-off-by: James Clark <james.clark@arm.com>
---
V1 -> V2: Keep old error message unless it's ENOENT

 tools/perf/arch/arm/util/cs-etm.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)


base-commit: 5670ebf54bd26482f57a094c53bdc562c106e0a9

Comments

Suzuki K Poulose Jan. 24, 2023, 11:08 a.m. UTC | #1
On 24/01/2023 11:02, James Clark wrote:
> Make the sink error message more similar to the event error message that
> reminds about missing kernel support. The available sinks are also
> determined by the hardware so mention that too.
> 
> Also, usually it's not necessary to specify the sink, so add that as a
> hint.
> 
> Now the error for a made up sink looks like this:
> 
>    $ perf record -e cs_etm/@abc/
>    Couldn't find sink "abc" on event cs_etm/@abc/.
>    Missing kernel or device support?
> 
>    Hint: An appropriate sink will be picked automatically if one isn't is specified.
> 
> For any error other than ENOENT, the same message as before is
> displayed.
> 
> Signed-off-by: James Clark <james.clark@arm.com>

Acked-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Arnaldo Carvalho de Melo Jan. 24, 2023, 6:35 p.m. UTC | #2
Em Tue, Jan 24, 2023 at 11:08:32AM +0000, Suzuki K Poulose escreveu:
> On 24/01/2023 11:02, James Clark wrote:
> > Make the sink error message more similar to the event error message that
> > reminds about missing kernel support. The available sinks are also
> > determined by the hardware so mention that too.
> > 
> > Also, usually it's not necessary to specify the sink, so add that as a
> > hint.
> > 
> > Now the error for a made up sink looks like this:
> > 
> >    $ perf record -e cs_etm/@abc/
> >    Couldn't find sink "abc" on event cs_etm/@abc/.
> >    Missing kernel or device support?
> > 
> >    Hint: An appropriate sink will be picked automatically if one isn't is specified.
> > 
> > For any error other than ENOENT, the same message as before is
> > displayed.
> > 
> > Signed-off-by: James Clark <james.clark@arm.com>
> 
> Acked-by: Suzuki K Poulose <suzuki.poulose@arm.com>

Thanks, applied.

- Arnaldo
diff mbox series

Patch

diff --git a/tools/perf/arch/arm/util/cs-etm.c b/tools/perf/arch/arm/util/cs-etm.c
index 481e170cd3f1..7f71c8a237ff 100644
--- a/tools/perf/arch/arm/util/cs-etm.c
+++ b/tools/perf/arch/arm/util/cs-etm.c
@@ -283,9 +283,15 @@  static int cs_etm_set_sink_attr(struct perf_pmu *pmu,
 
 		ret = perf_pmu__scan_file(pmu, path, "%x", &hash);
 		if (ret != 1) {
-			pr_err("failed to set sink \"%s\" on event %s with %d (%s)\n",
-			       sink, evsel__name(evsel), errno,
-			       str_error_r(errno, msg, sizeof(msg)));
+			if (errno == ENOENT)
+				pr_err("Couldn't find sink \"%s\" on event %s\n"
+				       "Missing kernel or device support?\n\n"
+				       "Hint: An appropriate sink will be picked automatically if one isn't specified.\n",
+				       sink, evsel__name(evsel));
+			else
+				pr_err("Failed to set sink \"%s\" on event %s with %d (%s)\n",
+				       sink, evsel__name(evsel), errno,
+				       str_error_r(errno, msg, sizeof(msg)));
 			return ret;
 		}