Messages in this thread | | | Date | Tue, 4 Jun 2019 21:55:00 +0200 | From | Jiri Olsa <> | Subject | Re: [PATCH V2 3/5] perf stat: Support per-die aggregation |
| |
On Mon, Jun 03, 2019 at 01:42:58PM -0400, Liang, Kan wrote: > > > 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?
not really :-\ perhaps the original is more accurate and does not "claim" the upgrade will help.. it's just a nit.. feel free to keep it
thanks, jirka
| |