Messages in this thread | | | Subject | Re: [PATCH V2 3/5] perf stat: Support per-die aggregation | From | "Liang, Kan" <> | Date | Mon, 3 Jun 2019 13:42:58 -0400 |
| |
On 6/3/2019 12:36 PM, Jiri Olsa wrote: > 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
I will fix it in v3.
> >> + * 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?
I think there is nothing we can do for current encoding, if the socket number or die number is bigger than 8 bits. We have to design a new encoding method, which needs to update the perf tool. So I use a similar expression from process_cpu_topology(). if (do_core_id_test && nr != (u32)-1 && nr > (u32)cpu_nr) { pr_debug("socket_id number is too big." "You may need to upgrade the perf tool.\n"); goto free_cpu; }
Any suggestions for the warning message?
> >> + 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 for the review. I will send out V3 after the comments are addressed.
Thanks, Kan
| |