2011-02-01 09:15:08

by Ingo Molnar

[permalink] [raw]
Subject: Re: [GIT PULL 0/5] perf/core improvements


* Arnaldo Carvalho de Melo <[email protected]> wrote:

> Hi Ingo,
>
> Please consider pulling from:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core
>
> Regards,
>
> - Arnaldo
>
> Arnaldo Carvalho de Melo (5):
> perf evlist: Move evlist methods to evlist.c
> perf evlist: Store pointer to the cpu and thread maps
> perf top: Move display agnostic routines to util/top.[ch]
> perf tools: Don't fallback to setup_pager unconditionally
> perf top: Introduce slang based TUI
>
> tools/perf/Makefile | 6 +
> tools/perf/builtin-annotate.c | 2 +-
> tools/perf/builtin-record.c | 44 ++--
> tools/perf/builtin-report.c | 2 +-
> tools/perf/builtin-stat.c | 45 ++--
> tools/perf/builtin-test.c | 6 +-
> tools/perf/builtin-top.c | 530 ++++++++++++-------------------------
> tools/perf/python/twatch.py | 4 +-
> tools/perf/util/cache.h | 7 +-
> tools/perf/util/evlist.c | 185 +++++++++++++-
> tools/perf/util/evlist.h | 28 ++-
> tools/perf/util/evsel.c | 144 +----------
> tools/perf/util/evsel.h | 4 -
> tools/perf/util/python.c | 25 +-
> tools/perf/util/top.c | 217 +++++++++++++++
> tools/perf/util/top.h | 80 ++++++
> tools/perf/util/ui/browsers/top.c | 136 ++++++++++
> tools/perf/util/ui/setup.c | 5 +-
> 18 files changed, 887 insertions(+), 583 deletions(-)
> create mode 100644 tools/perf/util/top.c
> create mode 100644 tools/perf/util/top.h
> create mode 100644 tools/perf/util/ui/browsers/top.c

Pulled, thanks Arnaldo!

Note, there's a beauty wart i noticed, while building perf on 32-bit Fedora: the build output
includes new, unintended lines:

CC util/scripting-engines/trace-event-perl.o
CC scripts/perl/Perf-Trace-Util/Context.o
CC util/scripting-engines/trace-event-python.o
CC scripts/python/Perf-Trace-Util/Context.o
CC perf.o
CC builtin-help.o
gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -fPIC -Iutil/include -I/usr/include/python2.6 -c util/evlist.c -o temp.linux-i686-2.6/util/evlist.o -fno-strict-aliasing -Wno-write-strings
gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -fPIC -Iutil/include -I/usr/include/python2.6 -c util/evsel.c -o temp.linux-i686-2.6/util/evsel.o -fno-strict-aliasing -Wno-write-strings
gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -fPIC -Iutil/include -I/usr/include/python2.6 -c util/cpumap.c -o temp.linux-i686-2.6/util/cpumap.o -fno-strict-aliasing -Wno-write-strings
gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -fPIC -Iutil/include -I/usr/include/python2.6 -c util/thread_map.c -o temp.linux-i686-2.6/util/thread_map.o -fno-strict-aliasing -Wno-write-strings
gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -fPIC -Iutil/include -I/usr/include/python2.6 -c util/util.c -o temp.linux-i686-2.6/util/util.o -fno-strict-aliasing -Wno-write-strings
gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -fPIC -Iutil/include -I/usr/include/python2.6 -c util/xyarray.c -o temp.linux-i686-2.6/util/xyarray.o -fno-strict-aliasing -Wno-write-strings
gcc -pthread -shared temp.linux-i686-2.6/util/python.o temp.linux-i686-2.6/util/ctype.o temp.linux-i686-2.6/util/evlist.o temp.linux-i686-2.6/util/evsel.o temp.linux-i686-2.6/util/cpumap.o temp.linux-i686-2.6/util/thread_map.o temp.linux-i686-2.6/util/util.o temp.linux-i686-2.6/util/xyarray.o -L/usr/lib -lpython2.6 -o lib.linux-i686-2.6/perf.so
AR libperf.a
LINK perf

See all tose 'gcc -pthread ...' lines? Those should have the simplified 'CC '-alike
output as well i suspect.

Thanks,

Ingo


2011-02-01 14:28:27

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [GIT PULL 0/5] perf/core improvements

Em Tue, Feb 01, 2011 at 10:14:47AM +0100, Ingo Molnar escreveu:
>
> * Arnaldo Carvalho de Melo <[email protected]> wrote:
>
> > Hi Ingo,
> >
> > Please consider pulling from:
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core
> >
>
> Pulled, thanks Arnaldo!
>
> Note, there's a beauty wart i noticed, while building perf on 32-bit Fedora: the build output
> includes new, unintended lines:
>
> CC util/scripting-engines/trace-event-perl.o
> CC scripts/perl/Perf-Trace-Util/Context.o
> CC util/scripting-engines/trace-event-python.o
> CC scripts/python/Perf-Trace-Util/Context.o
> CC perf.o
> CC builtin-help.o
> gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -fPIC -Iutil/include -I/usr/include/python2.6 -c util/evlist.c -o temp.linux-i686-2.6/util/evlist.o -fno-strict-aliasing -Wno-write-strings
> gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -fPIC -Iutil/include -I/usr/include/python2.6 -c util/evsel.c -o temp.linux-i686-2.6/util/evsel.o -fno-strict-aliasing -Wno-write-strings

Yeah, I noticed that too, its on my todo list, its the setup.py python
building part, I need to either make it silent and provide just one:

PYTHON perf.so

message or to ditch using setup.py and do everything directly, which I
may need to do anyway because 'python setup.py --build-base" (or
equivalent, that I haven't found) doesn't work with 'install', just with
'build'.

For now its just a nuisance, not something crucial, but I'll get that
nailed.

- Arnaldo