Re: [PATCH] perf list: Also append PMU name in verbose mode

From: Yangyu Chen
Date: Wed Feb 19 2025 - 22:53:34 EST




> On 19 Feb 2025, at 23:16, James Clark <james.clark@xxxxxxxxxx> wrote:
>
> When listing in verbose mode, the long description is used but the PMU
> name isn't appended. There doesn't seem to be a reason to exclude it
> when asking for more information, so use the same print block for both
> long and short descriptions.
>
> Before:
> $ perf list -v
> ...
> inst_retired
> [Instruction architecturally executed]
>
> After:
> $ perf list -v
> ...
> inst_retired
> [Instruction architecturally executed. Unit: armv8_cortex_a57]
>
> Signed-off-by: James Clark <james.clark@xxxxxxxxxx>
> ---
> tools/perf/builtin-list.c | 9 ++++-----
> 1 file changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/tools/perf/builtin-list.c b/tools/perf/builtin-list.c
> index 9e7fdfcdd7ff..c19826f218a0 100644
> --- a/tools/perf/builtin-list.c
> +++ b/tools/perf/builtin-list.c
> @@ -163,11 +163,10 @@ static void default_print_event(void *ps, const char *topic, const char *pmu_nam
> } else
> fputc('\n', fp);
>
> - if (long_desc && print_state->long_desc) {
> - fprintf(fp, "%*s", 8, "[");
> - wordwrap(fp, long_desc, 8, pager_get_columns(), 0);
> - fprintf(fp, "]\n");
> - } else if (desc && print_state->desc) {
> + if (long_desc && print_state->long_desc)
> + desc = long_desc;
> +
> + if (desc && (print_state->desc || print_state->long_desc)) {
> char *desc_with_unit = NULL;
> int desc_len = -1;
>
> --
> 2.34.1
>
> When listing in verbose mode, the long description is used but the PMU
> name isn't appended. There doesn't seem to be a reason to exclude it
> when asking for more information, so use the same print block for both
> long and short descriptions.
>
> Before:
> $ perf list -v
> ...
> inst_retired
> [Instruction architecturally executed]
>
> After:
> $ perf list -v
> ...
> inst_retired
> [Instruction architecturally executed. Unit: armv8_cortex_a57]
>
> Signed-off-by: James Clark <james.clark@xxxxxxxxxx>
> ---
> tools/perf/builtin-list.c | 9 ++++-----
> 1 file changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/tools/perf/builtin-list.c b/tools/perf/builtin-list.c
> index 9e7fdfcdd7ff..c19826f218a0 100644
> --- a/tools/perf/builtin-list.c
> +++ b/tools/perf/builtin-list.c
> @@ -163,11 +163,10 @@ static void default_print_event(void *ps, const char *topic, const char *pmu_nam
> } else
> fputc('\n', fp);
>
> - if (long_desc && print_state->long_desc) {
> - fprintf(fp, "%*s", 8, "[");
> - wordwrap(fp, long_desc, 8, pager_get_columns(), 0);
> - fprintf(fp, "]\n");
> - } else if (desc && print_state->desc) {
> + if (long_desc && print_state->long_desc)
> + desc = long_desc;
> +
> + if (desc && (print_state->desc || print_state->long_desc)) {
> char *desc_with_unit = NULL;
> int desc_len = -1;
>
> --
> 2.34.1
>
> When listing in verbose mode, the long description is used but the PMU
> name isn't appended. There doesn't seem to be a reason to exclude it
> when asking for more information, so use the same print block for both
> long and short descriptions.
>
> Before:
> $ perf list -v
> ...
> inst_retired
> [Instruction architecturally executed]
>
> After:
> $ perf list -v
> ...
> inst_retired
> [Instruction architecturally executed. Unit: armv8_cortex_a57]
>
> Signed-off-by: James Clark <james.clark@xxxxxxxxxx>

Tested-by: Yangyu Chen <cyy@xxxxxxxxxxxx>

Thanks,
Yangyu Chen