All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Li Huafei <lihuafei1@huawei.com>
Cc: jolsa@kernel.org, peterz@infradead.org, mark.rutland@arm.com,
	mingo@redhat.com, alexander.shishkin@linux.intel.com,
	namhyung@kernel.org, mliska@suse.cz, irogers@google.com,
	dzhu@wavecomp.com, rickyman7@gmail.com, yao.jin@linux.intel.com,
	linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
	zhangjinhao2@huawei.com
Subject: Re: [PATCH] perf env: Normalize aarch64.* to arm64 in normalize_arch()
Date: Fri, 23 Jul 2021 16:23:53 -0300	[thread overview]
Message-ID: <YPsXSRi+8z5ozc/U@kernel.org> (raw)
In-Reply-To: <20210723014944.214887-1-lihuafei1@huawei.com>

Em Fri, Jul 23, 2021 at 09:49:44AM +0800, Li Huafei escreveu:
> On my aarch64 big endian machine, the perf annotate does not work.
> 
>  # perf annotate
>   Percent |      Source code & Disassembly of [kernel.kallsyms] for cycles (253 samples, percent: local period)
>  --------------------------------------------------------------------------------------------------------------
>   Percent |      Source code & Disassembly of [kernel.kallsyms] for cycles (1 samples, percent: local period)
>  ------------------------------------------------------------------------------------------------------------
>   Percent |      Source code & Disassembly of [kernel.kallsyms] for cycles (47 samples, percent: local period)
>  -------------------------------------------------------------------------------------------------------------
>  ...
> 
> This is because the arch_find() function uses the normalized architecture
> name provided by normalize_arch(), and my machine's architecture name
> aarch64_be is not normalized to arm64.  Like other architectures such as
> arm and powerpc, we can fuzzy match the architecture names associated with
> aarch64.* and normalize them.

This looks ok modulo fixing the problem and adding that extra pr_err()
in a single patch, please split this into two.

Also I fail to see why c34df25b40c2 introduced this problem :-\

Can some ARM person ack/review this, please?

- Arnaldo
 
> Fixes: c34df25b40c2 ("perf annotate: Add symbol__annotate function")
> Signed-off-by: Li Huafei <lihuafei1@huawei.com>
> ---
>  tools/perf/util/annotate.c | 4 +++-
>  tools/perf/util/env.c      | 2 +-
>  2 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
> index aa04a3655236..cb280de3369f 100644
> --- a/tools/perf/util/annotate.c
> +++ b/tools/perf/util/annotate.c
> @@ -2192,8 +2192,10 @@ int symbol__annotate(struct map_symbol *ms, struct evsel *evsel,
>  		return errno;
>  
>  	args.arch = arch = arch__find(arch_name);
> -	if (arch == NULL)
> +	if (arch == NULL) {
> +		pr_err("%s: unsupported arch %s\n", __func__, arch_name);
>  		return ENOTSUP;
> +	}
>  
>  	if (parch)
>  		*parch = arch;
> diff --git a/tools/perf/util/env.c b/tools/perf/util/env.c
> index cec2e6cad8aa..a91da1e9b201 100644
> --- a/tools/perf/util/env.c
> +++ b/tools/perf/util/env.c
> @@ -349,7 +349,7 @@ static const char *normalize_arch(char *arch)
>  		return "x86";
>  	if (!strcmp(arch, "sun4u") || !strncmp(arch, "sparc", 5))
>  		return "sparc";
> -	if (!strcmp(arch, "aarch64") || !strcmp(arch, "arm64"))
> +	if (!strncmp(arch, "aarch64", 7) || !strcmp(arch, "arm64"))
>  		return "arm64";
>  	if (!strncmp(arch, "arm", 3) || !strcmp(arch, "sa110"))
>  		return "arm";
> -- 
> 2.17.1
> 

-- 

- Arnaldo

  reply	other threads:[~2021-07-23 19:24 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-23  1:49 [PATCH] perf env: Normalize aarch64.* to arm64 in normalize_arch() Li Huafei
2021-07-23 19:23 ` Arnaldo Carvalho de Melo [this message]
2021-07-26 10:04   ` James Clark
2021-07-26 13:04     ` Li Huafei

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YPsXSRi+8z5ozc/U@kernel.org \
    --to=acme@kernel.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=dzhu@wavecomp.com \
    --cc=irogers@google.com \
    --cc=jolsa@kernel.org \
    --cc=lihuafei1@huawei.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mingo@redhat.com \
    --cc=mliska@suse.cz \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rickyman7@gmail.com \
    --cc=yao.jin@linux.intel.com \
    --cc=zhangjinhao2@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.