Re: [PATCH 2/5] perf,tools: Support new sort type --socket

From: Arnaldo Carvalho de Melo
Date: Fri Sep 04 2015 - 19:06:30 EST


Em Fri, Sep 04, 2015 at 07:52:55PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Fri, Sep 04, 2015 at 07:41:39PM -0300, Arnaldo Carvalho de Melo escreveu:
> > Em Fri, Sep 04, 2015 at 10:45:43AM -0400, kan.liang@xxxxxxxxx escreveu:
> > > From: Kan Liang <kan.liang@xxxxxxxxx>
> > >
> > > 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.
>
> Patch below fix this, but we stumble in another problem, when zooming it
> is not eliding the SOCKET column, i.e. if we're zooming into a column,
> it will have the same value for all entries, no use in showing it, save
> some columns, will check that as well.
>
> Will fold the fixes to the patches where the problems were introduced,
> the feature is cool, one more zoom! :-)

One more fixed, see below, now we have another, using ESC should remove
the last applied Zoom operation, just like for the other Zoom operations
(DSO, thread, etc), looking at that now.

- Arnaldo

diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c
index d695fd2b6228..67d40feb1880 100644
--- a/tools/perf/ui/browsers/hists.c
+++ b/tools/perf/ui/browsers/hists.c
@@ -1680,12 +1680,14 @@ add_exit_opt(struct hist_browser *browser __maybe_unused,
static int
do_zoom_socket(struct hist_browser *browser, struct popup_action *act)
{
- if (browser->hists->socket_filter > -1)
+ if (browser->hists->socket_filter > -1) {
browser->hists->socket_filter = -1;
- else
+ perf_hpp__set_elide(HISTC_SOCKET, false);
+ } else {
browser->hists->socket_filter = act->socket;
+ perf_hpp__set_elide(HISTC_SOCKET, true);
+ }

- perf_hpp__set_elide(HISTC_SOCKET, false);
hists__filter_by_socket(browser->hists);
hist_browser__reset(browser);
return 0;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/