On Fri, Aug 02, 2019 at 11:48:57AM +0800, Tan Xiaojun wrote:
> Same as the commit 01766229533f ("perf record: Support s390 random
> socket_id assignment"), aarch64 also have this problem.
> 
> Without this fix:
>   [root@localhost perf]# ./perf report --header -I -v
>   ...
>   socket_id number is too big.You may need to upgrade the perf tool.
> 
>   # ========
>   # captured on    : Thu Aug  1 22:58:38 2019
>   # header version : 1
>   ...
>   # Core ID and Socket ID information is not available
>   ...
> 
> With this fix:
>   [root@localhost perf]# ./perf report --header -I -v
>   ...
>   cpumask list: 0-31
>   cpumask list: 32-63
>   cpumask list: 64-95
>   cpumask list: 96-127
> 
>   # ========
>   # captured on    : Thu Aug  1 22:58:38 2019
>   # header version : 1
>   ...
>   # CPU 0: Core ID 0, Socket ID 36
>   # CPU 1: Core ID 1, Socket ID 36
>   ...
>   # CPU 126: Core ID 126, Socket ID 8442
>   # CPU 127: Core ID 127, Socket ID 8442
>   ...
> 
> Signed-off-by: Tan Xiaojun <[email protected]>

Acked-by: Jiri Olsa <[email protected]>

thanks,
jirka

> ---
>  tools/perf/util/header.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c
> index 20111f8..d57fb74 100644
> --- a/tools/perf/util/header.c
> +++ b/tools/perf/util/header.c
> @@ -2251,8 +2251,10 @@ static int process_cpu_topology(struct feat_fd *ff, 
> void *data __maybe_unused)
>       /* On s390 the socket_id number is not related to the numbers of cpus.
>        * The socket_id number might be higher than the numbers of cpus.
>        * This depends on the configuration.
> +      * AArch64 is the same.
>        */
> -     if (ph->env.arch && !strncmp(ph->env.arch, "s390", 4))
> +     if (ph->env.arch && (!strncmp(ph->env.arch, "s390", 4)
> +                       || !strncmp(ph->env.arch, "aarch64", 7)))
>               do_core_id_test = false;
>  
>       for (i = 0; i < (u32)cpu_nr; i++) {
> -- 
> 2.7.4
> 

Reply via email to