From: "Liang, Kan" <kan.liang@linux.intel.com>
To: Jiri Olsa <jolsa@redhat.com>
Cc: acme@kernel.org, jolsa@kernel.org, mingo@redhat.com,
linux-kernel@vger.kernel.org, peterz@infradead.org,
ak@linux.intel.com
Subject: Re: [PATCH V2 3/5] perf stat: Support per-die aggregation
Date: Mon, 3 Jun 2019 13:42:58 -0400 [thread overview]
Message-ID: <cc4eea9a-e18e-af7e-2290-98727fce2f6a@linux.intel.com> (raw)
In-Reply-To: <20190603163636.GC12203@krava>
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
next prev parent reply other threads:[~2019-06-03 17:43 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-30 14:53 [PATCH V2 1/5] perf cpumap: Retrieve die id information kan.liang
2019-05-30 14:53 ` [PATCH V2 2/5] perf header: Add die information in CPU topology kan.liang
2019-05-30 14:53 ` [PATCH V2 3/5] perf stat: Support per-die aggregation kan.liang
2019-06-03 16:36 ` Jiri Olsa
2019-06-03 17:42 ` Liang, Kan [this message]
2019-06-04 19:55 ` Jiri Olsa
2019-05-30 14:53 ` [PATCH V2 4/5] perf header: Rename "sibling cores" to "sibling sockets" kan.liang
2019-05-30 14:53 ` [PATCH V2 5/5] perf tools: Apply new CPU topology sysfs attributes kan.liang
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=cc4eea9a-e18e-af7e-2290-98727fce2f6a@linux.intel.com \
--to=kan.liang@linux.intel.com \
--cc=acme@kernel.org \
--cc=ak@linux.intel.com \
--cc=jolsa@kernel.org \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
/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.