2011-02-01 17:30:35

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: [GIT PULL 0/2] perf/core improvements and fixes

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 (2):
perf tools: Remove verbose build messages for the python binding
perf tools: Fix up 'make clean' target

tools/perf/Makefile | 16 +++++++++-------
1 files changed, 9 insertions(+), 7 deletions(-)


2011-02-01 17:30:07

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: [PATCH 1/2] perf tools: Remove verbose build messages for the python binding

From: Arnaldo Carvalho de Melo <[email protected]>

Also now it builds it in a well known location:

[acme@felicio linux]$ rm -rf ../build/perf/
[acme@felicio linux]$ mkdir ../build/perf
[acme@felicio linux]$ make -j2 O=~acme/git/build/perf -C tools/perf/
<SNIP>
[acme@felicio linux]$ ls -la ../build/perf/python/
total 152
-rwxrwxr-x 1 acme acme 147957 Feb 1 14:56 perf.so
drwxrwxr-x 3 acme acme 17 Feb 1 14:56 temp
[acme@felicio linux]$

[root@felicio ~]# strip ~acme/git/build/perf/python/perf.so
[root@felicio ~]# ls -la ~acme/git/build/perf/python/perf.so
-rwxrwxr-x 1 acme acme 46264 Feb 1 14:58 /home/acme/git/build/perf/python/perf.so

[root@felicio ~]# export PYTHONPATH=~acme/git/build/perf/python/
[root@felicio ~]# ~acme/git/linux/tools/perf/python/twatch.py
cpu: 0, pid: 7751, tid: 7751 { type: exit, pid: 7751, ppid: 7751, tid: 7751, ptid: 7751, time: 54562393512356}
cpu: 0, pid: 13700, tid: 13700 { type: fork, pid: 7756, ppid: 13700, tid: 7756, ptid: 13700, time: 54562393746739}
cpu: 1, pid: 7756, tid: 7756 { type: fork, pid: 7757, ppid: 7756, tid: 7757, ptid: 7756, time: 54562394246152}
cpu: 1, pid: 7757, tid: 7757 { type: comm, pid: 7757, tid: 7757, comm: awk }
cpu: 1, pid: 7757, tid: 7757 { type: exit, pid: 7757, ppid: 7757, tid: 7757, ptid: 7757, time: 54562395456813}

Reported-by: Ingo Molnar <[email protected]>
Cc: Frederic Weisbecker <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Mike Galbraith <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Stephane Eranian <[email protected]>
Cc: Tom Zanussi <[email protected]>
LKML-Reference: <new-submission>
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
tools/perf/Makefile | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index 67a9f4d..d1984ee 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -325,9 +325,9 @@ SCRIPT_SH += perf-archive.sh
grep-libs = $(filter -l%,$(1))
strip-libs = $(filter-out -l%,$(1))

-pyrf: $(PYRF_OBJS)
- python util/setup.py build --build-base='$(OUTPUT)'
-
+$(OUTPUT)python/perf.so: $(PYRF_OBJS)
+ @python util/setup.py --quiet build_ext --build-lib='$(OUTPUT)python' \
+ --build-temp='$(OUTPUT)python/temp'
#
# No Perl scripts right now:
#
@@ -348,12 +348,14 @@ PROGRAMS += $(EXTRA_PROGRAMS)
#
PROGRAMS += $(OUTPUT)perf

+LANG_BINDINGS = $(OUTPUT)python/perf.so
+
# List built-in command $C whose implementation cmd_$C() is not in
# builtin-$C.o but is linked in as part of some other command.
#

# what 'all' will build and 'install' will install, in perfexecdir
-ALL_PROGRAMS = $(PROGRAMS) $(SCRIPTS) pyrf
+ALL_PROGRAMS = $(PROGRAMS) $(SCRIPTS) $(LANG_BINDINGS)

# what 'all' will build but not install in perfexecdir
OTHER_PROGRAMS = $(OUTPUT)perf$X
@@ -1298,6 +1300,8 @@ clean:
$(RM) $(htmldocs).tar.gz $(manpages).tar.gz
$(MAKE) -C Documentation/ clean
$(RM) $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)PERF-CFLAGS $(OUTPUT)PERF-BUILD-OPTIONS
+ @python util/setup.py clean --build-lib='$(OUTPUT)python' \
+ --build-temp='$(OUTPUT)python/temp'

.PHONY: all install clean strip
.PHONY: shell_compatibility_test please_set_SHELL_PATH_to_a_more_modern_shell
--
1.6.2.5

2011-02-01 17:30:29

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: [PATCH 2/2] perf tools: Fix up 'make clean' target

From: Arnaldo Carvalho de Melo <[email protected]>

It wasn't using $(OUTPUT) to rm *.o and there were some funny looking
automake files that never get created but were being deleted anyway.

Cc: Frederic Weisbecker <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Mike Galbraith <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Stephane Eranian <[email protected]>
Cc: Tom Zanussi <[email protected]>
LKML-Reference: <new-submission>
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
tools/perf/Makefile | 4 +---
1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index d1984ee..85f6549 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -1289,12 +1289,10 @@ distclean: clean
# $(RM) configure

clean:
- $(RM) *.o */*.o */*/*.o */*/*/*.o $(LIB_FILE)
+ $(RM) $(OUTPUT){*.o,*/*.o,*/*/*.o,*/*/*/*.o,$(LIB_FILE),perf-archive}
$(RM) $(ALL_PROGRAMS) $(BUILT_INS) perf$X
$(RM) $(TEST_PROGRAMS)
$(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo $(OUTPUT)common-cmds.h TAGS tags cscope*
- $(RM) -r autom4te.cache
- $(RM) config.log config.mak.autogen config.mak.append config.status config.cache
$(RM) -r $(PERF_TARNAME) .doc-tmp-dir
$(RM) $(PERF_TARNAME).tar.gz perf-core_$(PERF_VERSION)-*.tar.gz
$(RM) $(htmldocs).tar.gz $(manpages).tar.gz
--
1.6.2.5

2011-02-01 17:36:08

by Peter Zijlstra

[permalink] [raw]
Subject: Re: [PATCH 1/2] perf tools: Remove verbose build messages for the python binding

On Tue, 2011-02-01 at 15:29 -0200, Arnaldo Carvalho de Melo wrote:
> From: Arnaldo Carvalho de Melo <[email protected]>
>
> Also now it builds it in a well known location:
>
> [acme@felicio linux]$ rm -rf ../build/perf/
> [acme@felicio linux]$ mkdir ../build/perf
> [acme@felicio linux]$ make -j2 O=~acme/git/build/perf -C tools/perf/
> <SNIP>
> [acme@felicio linux]$ ls -la ../build/perf/python/
> total 152
> -rwxrwxr-x 1 acme acme 147957 Feb 1 14:56 perf.so
> drwxrwxr-x 3 acme acme 17 Feb 1 14:56 temp
> [acme@felicio linux]$
>
> [root@felicio ~]# strip ~acme/git/build/perf/python/perf.so
> [root@felicio ~]# ls -la ~acme/git/build/perf/python/perf.so
> -rwxrwxr-x 1 acme acme 46264 Feb 1 14:58 /home/acme/git/build/perf/python/perf.so
>
> [root@felicio ~]# export PYTHONPATH=~acme/git/build/perf/python/
> [root@felicio ~]# ~acme/git/linux/tools/perf/python/twatch.py
> cpu: 0, pid: 7751, tid: 7751 { type: exit, pid: 7751, ppid: 7751, tid: 7751, ptid: 7751, time: 54562393512356}
> cpu: 0, pid: 13700, tid: 13700 { type: fork, pid: 7756, ppid: 13700, tid: 7756, ptid: 13700, time: 54562393746739}
> cpu: 1, pid: 7756, tid: 7756 { type: fork, pid: 7757, ppid: 7756, tid: 7757, ptid: 7756, time: 54562394246152}
> cpu: 1, pid: 7757, tid: 7757 { type: comm, pid: 7757, tid: 7757, comm: awk }
> cpu: 1, pid: 7757, tid: 7757 { type: exit, pid: 7757, ppid: 7757, tid: 7757, ptid: 7757, time: 54562395456813}

This won't fix this, right?

running build_ext
error: invalid Python installation: unable to open /usr/lib64/python2.6/config/Makefile (No such file or directory)
make: *** [pyrf] Error 1

2011-02-01 18:24:14

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH 1/2] perf tools: Remove verbose build messages for the python binding

Em Tue, Feb 01, 2011 at 06:36:59PM +0100, Peter Zijlstra escreveu:
> This won't fix this, right?
>
> running build_ext
> error: invalid Python installation: unable to open /usr/lib64/python2.6/config/Makefile (No such file or directory)
> make: *** [pyrf] Error 1

Right, I'll leverage the python script test for python-dev being present
in the system.

- Arnaldo

2011-02-02 06:12:10

by Ingo Molnar

[permalink] [raw]
Subject: Re: [GIT PULL 0/2] perf/core improvements and fixes


* 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 (2):
> perf tools: Remove verbose build messages for the python binding
> perf tools: Fix up 'make clean' target
>
> tools/perf/Makefile | 16 +++++++++-------
> 1 files changed, 9 insertions(+), 7 deletions(-)

Pulled (the other commits as well), thanks Arnaldo!

Ingo