From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: kan.liang@intel.com
Cc: jolsa@kernel.org, namhyung@kernel.org, adrian.hunter@intel.com,
eranian@google.com, ak@linux.intel.com,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/5] perf,tools: Support new sort type --socket
Date: Fri, 4 Sep 2015 19:41:39 -0300 [thread overview]
Message-ID: <20150904224139.GC3475@kernel.org> (raw)
In-Reply-To: <1441377946-44429-2-git-send-email-kan.liang@intel.com>
Em Fri, Sep 04, 2015 at 10:45:43AM -0400, kan.liang@intel.com escreveu:
> From: Kan Liang <kan.liang@intel.com>
>
> This patch enable perf report to sort by processor socket
>
> $ perf report --stdio --sort socket,comm,dso,symbol
> # To display the perf.data header info, please use
> --header/--header-only options.
> #
> #
> # Total Lost Samples: 0
> #
> # Samples: 686 of event 'cycles'
> # Event count (approx.): 349215462
> #
> # Overhead SOCKET Command Shared Object Symbol
> # ........ ...... ......... ................
> .................................
So this works in 'perf top' only for the first screen rendering, when it
refreshes we lose the "SOCKET" header (why all caps?) and the colum
stops being %03d and instead becomes %d, I am checking now.
- Arnaldo
> #
> 97.05% 000 test test [.] plusB_c
> 0.98% 000 test test [.] plusA_c
> 0.93% 001 perf [kernel.vmlinux] [k]
> smp_call_function_single
> 0.19% 001 perf [kernel.vmlinux] [k] page_fault
> 0.19% 001 swapper [kernel.vmlinux] [k] pm_qos_request
> 0.16% 000 test [kernel.vmlinux] [k] add_mm_counter_fast
>
> Signed-off-by: Kan Liang <kan.liang@intel.com>
> ---
> tools/perf/Documentation/perf-report.txt | 3 ++-
> tools/perf/util/hist.h | 1 +
> tools/perf/util/sort.c | 22 ++++++++++++++++++++++
> tools/perf/util/sort.h | 1 +
> 4 files changed, 26 insertions(+), 1 deletion(-)
>
> diff --git a/tools/perf/Documentation/perf-report.txt b/tools/perf/Documentation/perf-report.txt
> index 9c7981b..92361a7 100644
> --- a/tools/perf/Documentation/perf-report.txt
> +++ b/tools/perf/Documentation/perf-report.txt
> @@ -68,7 +68,7 @@ OPTIONS
> --sort=::
> Sort histogram entries by given key(s) - multiple keys can be specified
> in CSV format. Following sort keys are available:
> - pid, comm, dso, symbol, parent, cpu, srcline, weight, local_weight.
> + pid, comm, dso, symbol, parent, cpu, socket, srcline, weight, local_weight.
>
> Each key has following meaning:
>
> @@ -79,6 +79,7 @@ OPTIONS
> - parent: name of function matched to the parent regex filter. Unmatched
> entries are displayed as "[other]".
> - cpu: cpu number the task ran at the time of sample
> + - socket: processor socket number the task ran at the time of sample
> - srcline: filename and line number executed at the time of sample. The
> DWARF debugging info must be provided.
> - srcfile: file name of the source file of the same. Requires dwarf
> diff --git a/tools/perf/util/hist.h b/tools/perf/util/hist.h
> index de6d58e..5d04d28 100644
> --- a/tools/perf/util/hist.h
> +++ b/tools/perf/util/hist.h
> @@ -29,6 +29,7 @@ enum hist_column {
> HISTC_COMM,
> HISTC_PARENT,
> HISTC_CPU,
> + HISTC_SOCKET,
> HISTC_SRCLINE,
> HISTC_SRCFILE,
> HISTC_MISPREDICT,
> diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c
> index a97bcee..c4a32b9 100644
> --- a/tools/perf/util/sort.c
> +++ b/tools/perf/util/sort.c
> @@ -421,6 +421,27 @@ struct sort_entry sort_cpu = {
> .se_width_idx = HISTC_CPU,
> };
>
> +/* --sort socket */
> +
> +static int64_t
> +sort__socket_cmp(struct hist_entry *left, struct hist_entry *right)
> +{
> + return right->socket - left->socket;
> +}
> +
> +static int hist_entry__socket_snprintf(struct hist_entry *he, char *bf,
> + size_t size, unsigned int width)
> +{
> + return repsep_snprintf(bf, size, "%*.*d", width, width-3, he->socket);
> +}
> +
> +struct sort_entry sort_socket = {
> + .se_header = "SOCKET",
> + .se_cmp = sort__socket_cmp,
> + .se_snprintf = hist_entry__socket_snprintf,
> + .se_width_idx = HISTC_SOCKET,
> +};
> +
> /* sort keys for branch stacks */
>
> static int64_t
> @@ -1248,6 +1269,7 @@ static struct sort_dimension common_sort_dimensions[] = {
> DIM(SORT_SYM, "symbol", sort_sym),
> DIM(SORT_PARENT, "parent", sort_parent),
> DIM(SORT_CPU, "cpu", sort_cpu),
> + DIM(SORT_SOCKET, "socket", sort_socket),
> DIM(SORT_SRCLINE, "srcline", sort_srcline),
> DIM(SORT_SRCFILE, "srcfile", sort_srcfile),
> DIM(SORT_LOCAL_WEIGHT, "local_weight", sort_local_weight),
> diff --git a/tools/perf/util/sort.h b/tools/perf/util/sort.h
> index 7cf1cf7..654ac8a 100644
> --- a/tools/perf/util/sort.h
> +++ b/tools/perf/util/sort.h
> @@ -173,6 +173,7 @@ enum sort_type {
> SORT_SYM,
> SORT_PARENT,
> SORT_CPU,
> + SORT_SOCKET,
> SORT_SRCLINE,
> SORT_SRCFILE,
> SORT_LOCAL_WEIGHT,
> --
> 1.8.3.1
next prev parent reply other threads:[~2015-09-04 22:41 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-04 14:45 [PATCH 1/5] perf,tools: add processor socket info in hist_entry and addr_location kan.liang
2015-09-04 14:45 ` [PATCH 2/5] perf,tools: Support new sort type --socket kan.liang
2015-09-04 22:41 ` Arnaldo Carvalho de Melo [this message]
2015-09-04 22:52 ` Arnaldo Carvalho de Melo
2015-09-04 23:06 ` Arnaldo Carvalho de Melo
2015-09-04 23:25 ` Arnaldo Carvalho de Melo
2015-09-04 23:26 ` Arnaldo Carvalho de Melo
2015-09-04 23:30 ` Arnaldo Carvalho de Melo
2015-09-15 7:05 ` [tip:perf/core] perf tools: Introduce new sort type "socket" for the processor socket tip-bot for Kan Liang
2015-09-04 14:45 ` [PATCH 3/5] perf,report: introduce socket-filter option kan.liang
2015-09-15 7:05 ` [tip:perf/core] perf report: Introduce --socket-filter option tip-bot for Kan Liang
2015-09-04 14:45 ` [PATCH 4/5] perf,tools: zoom in/out for processor socket kan.liang
2015-09-04 22:09 ` Andi Kleen
2015-09-15 7:06 ` [tip:perf/core] perf hists browser: Zoom in/ out " tip-bot for Kan Liang
2015-09-04 14:45 ` [PATCH 5/5] perf,test: test hists socket filter kan.liang
2015-09-15 7:06 ` [tip:perf/core] perf test: Add entry for " tip-bot for Kan Liang
2015-09-15 7:05 ` [tip:perf/core] perf tools: Add processor socket info to hist_entry and addr_location tip-bot for 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=20150904224139.GC3475@kernel.org \
--to=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=ak@linux.intel.com \
--cc=eranian@google.com \
--cc=jolsa@kernel.org \
--cc=kan.liang@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=namhyung@kernel.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.