lkml.org 
[lkml]   [2019]   [Jun]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH V2 3/5] perf stat: Support per-die aggregation
On Thu, May 30, 2019 at 07:53:47AM -0700, kan.liang@linux.intel.com wrote:

SNIP

> +
> static int perf_env__get_core(struct cpu_map *map, int idx, void *data)
> {
> struct perf_env *env = data;
> int core = -1, cpu = perf_env__get_cpu(env, map, idx);
>
> if (cpu != -1) {
> - int socket_id = env->cpu[cpu].socket_id;
> -
> /*
> - * Encode socket in upper 16 bits
> - * core_id is relative to socket, and
> + * Encode socket in upper 24 bits

please note we use upper 8 bits for socket number,
the comments suggests it's 24 bits

> + * encode die id in upper 16 bits
> + * core_id is relative to socket and die,
> * we need a global id. So we combine
> - * socket + core id.
> + * socket + die id + core id
> */
> - core = (socket_id << 16) | (env->cpu[cpu].core_id & 0xffff);
> + if (WARN_ONCE(env->cpu[cpu].socket_id >> 8,
> + "The socket_id number is too big. Please upgrade the perf tool.\n"))

hum, how's perf tool upgrade going to help in here?

> + return -1;
> +
> + if (WARN_ONCE(env->cpu[cpu].die_id >> 8,
> + "The die_id number is too big. Please upgrade the perf tool.\n"))
> + return -1;
> +
> + core = (env->cpu[cpu].socket_id << 24) |
> + (env->cpu[cpu].die_id << 16) |
> + (env->cpu[cpu].core_id & 0xffff);
> }

other than comments above, the patchset looks good to me

thanks,
jirka

\
 
 \ /
  Last update: 2019-06-03 18:37    [W:0.472 / U:0.072 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site