* [PATCH 1/3] perf tools: Fix endianity swapping for adds_features bitmask
2012-06-13 15:29 [GIT PULL 0/3] perf/urgent fixes Arnaldo Carvalho de Melo
@ 2012-06-13 15:29 ` Arnaldo Carvalho de Melo
2012-06-13 15:29 ` [PATCH 2/3] perf stat: Fix default output file Arnaldo Carvalho de Melo
` (2 subsequent siblings)
3 siblings, 0 replies; 10+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-06-13 15:29 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, David Ahern, Corey Ashford, Frederic Weisbecker,
Paul Mackerras, Peter Zijlstra, Arnaldo Carvalho de Melo
From: David Ahern <dsahern@gmail.com>
Based on Jiri's latest attempt:
https://lkml.org/lkml/2012/5/16/61
Basically, adds_features should be byte swapped assuming unsigned
longs are either 8-bytes (u64) or 4-bytes (u32).
Fixes 32-bit ppc dumping 64-bit x86 feature data:
========
captured on: Sun May 20 19:23:23 2012
hostname : nxos-vdc-dev3
os release : 3.4.0-rc7+
perf version : 3.4.rc4.137.g978da3
arch : x86_64
nrcpus online : 16
nrcpus avail : 16
cpudesc : Intel(R) Xeon(R) CPU E5540 @ 2.53GHz
cpuid : GenuineIntel,6,26,5
total memory : 24680324 kB
...
Verified 64-bit x86 can still dump feature data for 32-bit ppc.
Signed-off-by: David Ahern <dsahern@gmail.com>
Reviewed-by: Jiri Olsa <jolsa@redhat.com>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/4FBBB539.5010805@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
| 16 +++++++++-------
tools/perf/util/include/linux/bitops.h | 2 ++
tools/perf/util/session.c | 10 ++++++++++
tools/perf/util/session.h | 1 +
4 files changed, 22 insertions(+), 7 deletions(-)
--git a/tools/perf/util/header.c b/tools/perf/util/header.c
index 2dd5edf..4f9b247 100644
--- a/tools/perf/util/header.c
+++ b/tools/perf/util/header.c
@@ -1942,7 +1942,6 @@ int perf_file_header__read(struct perf_file_header *header,
else
return -1;
} else if (ph->needs_swap) {
- unsigned int i;
/*
* feature bitmap is declared as an array of unsigned longs --
* not good since its size can differ between the host that
@@ -1958,14 +1957,17 @@ int perf_file_header__read(struct perf_file_header *header,
* file), punt and fallback to the original behavior --
* clearing all feature bits and setting buildid.
*/
- for (i = 0; i < BITS_TO_LONGS(HEADER_FEAT_BITS); ++i)
- header->adds_features[i] = bswap_64(header->adds_features[i]);
+ mem_bswap_64(&header->adds_features,
+ BITS_TO_U64(HEADER_FEAT_BITS));
if (!test_bit(HEADER_HOSTNAME, header->adds_features)) {
- for (i = 0; i < BITS_TO_LONGS(HEADER_FEAT_BITS); ++i) {
- header->adds_features[i] = bswap_64(header->adds_features[i]);
- header->adds_features[i] = bswap_32(header->adds_features[i]);
- }
+ /* unswap as u64 */
+ mem_bswap_64(&header->adds_features,
+ BITS_TO_U64(HEADER_FEAT_BITS));
+
+ /* unswap as u32 */
+ mem_bswap_32(&header->adds_features,
+ BITS_TO_U32(HEADER_FEAT_BITS));
}
if (!test_bit(HEADER_HOSTNAME, header->adds_features)) {
diff --git a/tools/perf/util/include/linux/bitops.h b/tools/perf/util/include/linux/bitops.h
index f158483..587a230 100644
--- a/tools/perf/util/include/linux/bitops.h
+++ b/tools/perf/util/include/linux/bitops.h
@@ -8,6 +8,8 @@
#define BITS_PER_LONG __WORDSIZE
#define BITS_PER_BYTE 8
#define BITS_TO_LONGS(nr) DIV_ROUND_UP(nr, BITS_PER_BYTE * sizeof(long))
+#define BITS_TO_U64(nr) DIV_ROUND_UP(nr, BITS_PER_BYTE * sizeof(u64))
+#define BITS_TO_U32(nr) DIV_ROUND_UP(nr, BITS_PER_BYTE * sizeof(u32))
#define for_each_set_bit(bit, addr, size) \
for ((bit) = find_first_bit((addr), (size)); \
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
index 2600916..c3e399b 100644
--- a/tools/perf/util/session.c
+++ b/tools/perf/util/session.c
@@ -442,6 +442,16 @@ static void perf_tool__fill_defaults(struct perf_tool *tool)
tool->finished_round = process_finished_round_stub;
}
}
+
+void mem_bswap_32(void *src, int byte_size)
+{
+ u32 *m = src;
+ while (byte_size > 0) {
+ *m = bswap_32(*m);
+ byte_size -= sizeof(u32);
+ ++m;
+ }
+}
void mem_bswap_64(void *src, int byte_size)
{
diff --git a/tools/perf/util/session.h b/tools/perf/util/session.h
index 7a5434c..0c702e3 100644
--- a/tools/perf/util/session.h
+++ b/tools/perf/util/session.h
@@ -80,6 +80,7 @@ struct branch_info *machine__resolve_bstack(struct machine *self,
bool perf_session__has_traces(struct perf_session *self, const char *msg);
void mem_bswap_64(void *src, int byte_size);
+void mem_bswap_32(void *src, int byte_size);
void perf_event__attr_swap(struct perf_event_attr *attr);
int perf_session__create_kernel_maps(struct perf_session *self);
--
1.7.1
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH 2/3] perf stat: Fix default output file
2012-06-13 15:29 [GIT PULL 0/3] perf/urgent fixes Arnaldo Carvalho de Melo
2012-06-13 15:29 ` [PATCH 1/3] perf tools: Fix endianity swapping for adds_features bitmask Arnaldo Carvalho de Melo
@ 2012-06-13 15:29 ` Arnaldo Carvalho de Melo
2012-06-13 15:29 ` [PATCH 3/3] perf tools: Fix synthesizing tracepoint names from the perf.data headers Arnaldo Carvalho de Melo
2012-06-14 10:07 ` [GIT PULL 0/3] perf/urgent fixes Ingo Molnar
3 siblings, 0 replies; 10+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-06-13 15:29 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Stephane Eranian, David Ahern, Ingo Molnar,
Peter Zijlstra, Jim Cromie, Arnaldo Carvalho de Melo
From: Stephane Eranian <eranian@google.com>
The following commit:
commit 56f3bae70638b33477a6015fd362ccfe354fd3ee
Author: Jim Cromie <jim.cromie@gmail.com>
Date: Wed Sep 7 17:14:00 2011 -0600
perf stat: Add --log-fd <N> option to redirect stderr elsewhere
introduced a bug in the way perf stat outputs the results by default,
i.e., without the --log-fd or --output option. It would default to
writing to file descriptor 0, i.e., stdin. Writing to stdin is allowed
and is equivalent to writing to stdout. However, there is a major
difference for any script that was already capturing the output of perf
stat via redirection:
perf stat >/tmp/log .... or perf stat 2>/tmp/log ....
They would not capture anything anymore. They would have to do:
perf stat 0>/tmp/log ...
This breaks compatibility with existing scripts and does not look very
natural.
This patch fixes the problem by looking at output_fd only when it was
modified by user (> 0). It also checks that the value if positive.
Passing --log-fd 0 is ignored.
I would also argue that defaulting to stderr for the results is not the
right thing to do, though this patch does not address this specific
issue.
Signed-off-by: Stephane Eranian <eranian@google.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Jim Cromie <jim.cromie@gmail.com>
Link: http://lkml.kernel.org/r/20120515111111.GA9870@quad
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/builtin-stat.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
index 2625899..07b5c77 100644
--- a/tools/perf/builtin-stat.c
+++ b/tools/perf/builtin-stat.c
@@ -1179,6 +1179,12 @@ int cmd_stat(int argc, const char **argv, const char *prefix __used)
fprintf(stderr, "cannot use both --output and --log-fd\n");
usage_with_options(stat_usage, options);
}
+
+ if (output_fd < 0) {
+ fprintf(stderr, "argument to --log-fd must be a > 0\n");
+ usage_with_options(stat_usage, options);
+ }
+
if (!output) {
struct timespec tm;
mode = append_file ? "a" : "w";
@@ -1190,7 +1196,7 @@ int cmd_stat(int argc, const char **argv, const char *prefix __used)
}
clock_gettime(CLOCK_REALTIME, &tm);
fprintf(output, "# started on %s\n", ctime(&tm.tv_sec));
- } else if (output_fd != 2) {
+ } else if (output_fd > 0) {
mode = append_file ? "a" : "w";
output = fdopen(output_fd, mode);
if (!output) {
--
1.7.1
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH 3/3] perf tools: Fix synthesizing tracepoint names from the perf.data headers
2012-06-13 15:29 [GIT PULL 0/3] perf/urgent fixes Arnaldo Carvalho de Melo
2012-06-13 15:29 ` [PATCH 1/3] perf tools: Fix endianity swapping for adds_features bitmask Arnaldo Carvalho de Melo
2012-06-13 15:29 ` [PATCH 2/3] perf stat: Fix default output file Arnaldo Carvalho de Melo
@ 2012-06-13 15:29 ` Arnaldo Carvalho de Melo
2012-06-14 10:07 ` [GIT PULL 0/3] perf/urgent fixes Ingo Molnar
3 siblings, 0 replies; 10+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-06-13 15:29 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, David Ahern,
Frederic Weisbecker, Jiri Olsa, Mike Galbraith, Namhyung Kim,
Paul Mackerras, Peter Zijlstra, Stephane Eranian
From: Arnaldo Carvalho de Melo <acme@redhat.com>
We need to use the per event info snapshoted at record time to
synthesize the events name, so do it just after reading the perf.data
headers, when we already processed the /sys events data, otherwise we'll
end up using the local /sys that only by sheer luck will have the same
tracepoint ID -> real event association.
Example:
# uname -a
Linux felicio.ghostprotocols.net 3.4.0-rc5+ #1 SMP Sat May 19 15:27:11 BRT 2012 x86_64 x86_64 x86_64 GNU/Linux
# perf record -e sched:sched_switch usleep 1
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.015 MB perf.data (~648 samples) ]
# cat /t/events/sched/sched_switch/id
279
# perf evlist -v
sched:sched_switch: sample_freq=1, type: 2, config: 279, size: 80, sample_type: 1159, read_format: 7, disabled: 1, inherit: 1, mmap: 1, comm: 1, enable_on_exec: 1, sample_id_all: 1, exclude_guest: 1
#
So on the above machine the sched:sched_switch has tracepoint id 279, but on
the machine were we'll analyse it it has a different id:
$ cat /t/events/sched/sched_switch/id
56
$ perf evlist -i /tmp/perf.data
kmem:mm_balancedirty_writeout
$ cat /t/events/kmem/mm_balancedirty_writeout/id
279
With this fix:
$ perf evlist -i /tmp/perf.data
sched:sched_switch
Reported-by: Dmitry Antipov <dmitry.antipov@linaro.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-auwks8fpuhmrdpiefs55o5oz@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
| 32 ++++++++++++++++++++++++++++++++
1 files changed, 32 insertions(+), 0 deletions(-)
--git a/tools/perf/util/header.c b/tools/perf/util/header.c
index 4f9b247..e909d43 100644
--- a/tools/perf/util/header.c
+++ b/tools/perf/util/header.c
@@ -2093,6 +2093,35 @@ static int read_attr(int fd, struct perf_header *ph,
return ret <= 0 ? -1 : 0;
}
+static int perf_evsel__set_tracepoint_name(struct perf_evsel *evsel)
+{
+ struct event_format *event = trace_find_event(evsel->attr.config);
+ char bf[128];
+
+ if (event == NULL)
+ return -1;
+
+ snprintf(bf, sizeof(bf), "%s:%s", event->system, event->name);
+ evsel->name = strdup(bf);
+ if (event->name == NULL)
+ return -1;
+
+ return 0;
+}
+
+static int perf_evlist__set_tracepoint_names(struct perf_evlist *evlist)
+{
+ struct perf_evsel *pos;
+
+ list_for_each_entry(pos, &evlist->entries, node) {
+ if (pos->attr.type == PERF_TYPE_TRACEPOINT &&
+ perf_evsel__set_tracepoint_name(pos))
+ return -1;
+ }
+
+ return 0;
+}
+
int perf_session__read_header(struct perf_session *session, int fd)
{
struct perf_header *header = &session->header;
@@ -2174,6 +2203,9 @@ int perf_session__read_header(struct perf_session *session, int fd)
lseek(fd, header->data_offset, SEEK_SET);
+ if (perf_evlist__set_tracepoint_names(session->evlist))
+ goto out_delete_evlist;
+
header->frozen = 1;
return 0;
out_errno:
--
1.7.1
^ permalink raw reply related [flat|nested] 10+ messages in thread* Re: [GIT PULL 0/3] perf/urgent fixes
2012-06-13 15:29 [GIT PULL 0/3] perf/urgent fixes Arnaldo Carvalho de Melo
` (2 preceding siblings ...)
2012-06-13 15:29 ` [PATCH 3/3] perf tools: Fix synthesizing tracepoint names from the perf.data headers Arnaldo Carvalho de Melo
@ 2012-06-14 10:07 ` Ingo Molnar
2012-06-14 15:11 ` Arnaldo Carvalho de Melo
2012-06-15 17:13 ` Arnaldo Carvalho de Melo
3 siblings, 2 replies; 10+ messages in thread
From: Ingo Molnar @ 2012-06-14 10:07 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Corey Ashford, David Ahern, Dmitry Antipov,
Frederic Weisbecker, Jim Cromie, Jiri Olsa, Mike Galbraith,
Namhyung Kim, Paul Mackerras, Peter Zijlstra, Stephane Eranian,
arnaldo.melo, Arnaldo Carvalho de Melo
* Arnaldo Carvalho de Melo <acme@infradead.org> wrote:
> Hi Ingo,
>
> Please consider pulling,
>
> - Arnaldo
>
> The following changes since commit 9ee6ddc9dada9cc4b2201631bc74fbf203183a10:
>
> Merge branch 'tip/perf/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/urgent (2012-06-08 12:23:22 +0200)
>
> are available in the git repository at:
>
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux tags/perf-urgent-for-mingo
>
> for you to fetch changes up to cb9dd49e11f83d548c822d7022ac180b0518b25c:
>
> perf tools: Fix synthesizing tracepoint names from the perf.data headers (2012-06-12 11:28:09 -0300)
>
> ----------------------------------------------------------------
> Fixes for perf/urgent
>
> . Set name of tracepoints when reading the perf.data headers, so that
> we don't end up using the local ones, from /sys.
>
> . Fix default output file for perf stat, from Stephane Eranian.
>
> . Fix endian handling of features bitmask in perf.data header, from David Ahern
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (1):
> perf tools: Fix synthesizing tracepoint names from the perf.data headers
>
> David Ahern (1):
> perf tools: Fix endianity swapping for adds_features bitmask
>
> Stephane Eranian (1):
> perf stat: Fix default output file
>
> tools/perf/builtin-stat.c | 8 +++++-
> tools/perf/util/header.c | 48 +++++++++++++++++++++++++++-----
> tools/perf/util/include/linux/bitops.h | 2 ++
> tools/perf/util/session.c | 10 +++++++
> tools/perf/util/session.h | 1 +
> 5 files changed, 61 insertions(+), 8 deletions(-)
Hm, fails to build here:
CC util/parse-events-bison.o
util/parse-events.l: In function ‘__value’:
util/parse-events.l:18:10: error: ‘PE_ERROR’ undeclared (first
use in this function)
util/parse-events.l:18:10: note: each undeclared identifier is
reported only once for each function it appears in
util/parse-events.l:20:2: error: ‘parse_events_lval’ undeclared
(first use in this function)
util/parse-events.l: In function ‘value’:
util/parse-events.l:26:42: error: ‘PE_VALUE’ undeclared (first
use in this function)
util/parse-events.l: In function ‘raw’:
util/parse-events.l:31:44: error: ‘PE_RAW’ undeclared (first use
in this function)
util/parse-events.l: In function ‘str’:
stock Fedora 17 install. 25f42985825d builds fine.
Thanks,
Ingo
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [GIT PULL 0/3] perf/urgent fixes
2012-06-14 10:07 ` [GIT PULL 0/3] perf/urgent fixes Ingo Molnar
@ 2012-06-14 15:11 ` Arnaldo Carvalho de Melo
2012-06-15 17:13 ` Arnaldo Carvalho de Melo
1 sibling, 0 replies; 10+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-06-14 15:11 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Corey Ashford, David Ahern, Dmitry Antipov,
Frederic Weisbecker, Jim Cromie, Jiri Olsa, Mike Galbraith,
Namhyung Kim, Paul Mackerras, Peter Zijlstra, Stephane Eranian
Em Thu, Jun 14, 2012 at 12:07:10PM +0200, Ingo Molnar escreveu:
> * Arnaldo Carvalho de Melo <acme@infradead.org> wrote:
> Hm, fails to build here:
>
> CC util/parse-events-bison.o
> util/parse-events.l: In function ‘__value’:
> util/parse-events.l:18:10: error: ‘PE_ERROR’ undeclared (first
> use in this function)
> util/parse-events.l:18:10: note: each undeclared identifier is
> reported only once for each function it appears in
> util/parse-events.l:20:2: error: ‘parse_events_lval’ undeclared
> (first use in this function)
> util/parse-events.l: In function ‘value’:
> util/parse-events.l:26:42: error: ‘PE_VALUE’ undeclared (first
> use in this function)
> util/parse-events.l: In function ‘raw’:
> util/parse-events.l:31:44: error: ‘PE_RAW’ undeclared (first use
> in this function)
> util/parse-events.l: In function ‘str’:
>
> stock Fedora 17 install. 25f42985825d builds fine.
Oops, fixing...
- Arnaldo
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [GIT PULL 0/3] perf/urgent fixes
2012-06-14 10:07 ` [GIT PULL 0/3] perf/urgent fixes Ingo Molnar
2012-06-14 15:11 ` Arnaldo Carvalho de Melo
@ 2012-06-15 17:13 ` Arnaldo Carvalho de Melo
2012-06-15 18:28 ` Ingo Molnar
2012-06-15 19:03 ` Ingo Molnar
1 sibling, 2 replies; 10+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-06-15 17:13 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Corey Ashford, David Ahern, Dmitry Antipov,
Frederic Weisbecker, Jim Cromie, Jiri Olsa, Mike Galbraith,
Namhyung Kim, Paul Mackerras, Peter Zijlstra, Stephane Eranian
Em Thu, Jun 14, 2012 at 12:07:10PM +0200, Ingo Molnar escreveu:
> Hm, fails to build here:
>
> CC util/parse-events-bison.o
> util/parse-events.l: In function ‘__value’:
> util/parse-events.l:18:10: error: ‘PE_ERROR’ undeclared (first
> use in this function)
> util/parse-events.l:18:10: note: each undeclared identifier is
> reported only once for each function it appears in
> util/parse-events.l:20:2: error: ‘parse_events_lval’ undeclared
> (first use in this function)
> util/parse-events.l: In function ‘value’:
> util/parse-events.l:26:42: error: ‘PE_VALUE’ undeclared (first
> use in this function)
> util/parse-events.l: In function ‘raw’:
> util/parse-events.l:31:44: error: ‘PE_RAW’ undeclared (first use
> in this function)
> util/parse-events.l: In function ‘str’:
>
> stock Fedora 17 install. 25f42985825d builds fine.
Is this 32-bit? I'm installing another VM now, but on Fedora 17 x86_64:
[acme@fedora17 linux]$ mkdir -p ../build/perf
[acme@fedora17 linux]$ make -j2 O=/home/acme/git/build/perf -C tools/perf/
make: Entering directory `/home/acme/git/linux/tools/perf'
MKDIR /home/acme/git/build/perf/arch/x86/util/
MKDIR /home/acme/git/build/perf/bench/
MKDIR /home/acme/git/build/perf/scripts/python/Perf-Trace-Util/
MKDIR /home/acme/git/build/perf/ui/
MKDIR /home/acme/git/build/perf/ui/browsers/
MKDIR /home/acme/git/build/perf/ui/gtk/
MKDIR /home/acme/git/build/perf/ui/tui/
MKDIR /home/acme/git/build/perf/util/
MKDIR /home/acme/git/build/perf/util/scripting-engines/
PERF_VERSION = 3.5.rc1.87.gcb9dd4
make: Leaving directory `/home/acme/git/linux/tools/perf'
make: Entering directory `/home/acme/git/linux/tools/perf'
GEN /home/acme/git/build/perf/common-cmds.h
* new build flags or prefix
CC /home/acme/git/build/perf/bench/mem-memcpy-x86-64-asm.o
CC /home/acme/git/build/perf/bench/mem-memset-x86-64-asm.o
CC /home/acme/git/build/perf/bench/mem-memcpy.o
CC /home/acme/git/build/perf/bench/mem-memset.o
CC /home/acme/git/build/perf/builtin-diff.o
CC /home/acme/git/build/perf/builtin-evlist.o
CC /home/acme/git/build/perf/builtin-help.o
CC /home/acme/git/build/perf/builtin-sched.o
CC /home/acme/git/build/perf/builtin-buildid-list.o
CC /home/acme/git/build/perf/builtin-buildid-cache.o
CC /home/acme/git/build/perf/builtin-list.o
CC /home/acme/git/build/perf/builtin-record.o
CC /home/acme/git/build/perf/builtin-report.o
CC /home/acme/git/build/perf/builtin-stat.o
CC /home/acme/git/build/perf/builtin-timechart.o
CC /home/acme/git/build/perf/builtin-top.o
CC /home/acme/git/build/perf/builtin-script.o
CC /home/acme/git/build/perf/builtin-probe.o
CC /home/acme/git/build/perf/builtin-kmem.o
CC /home/acme/git/build/perf/builtin-lock.o
CC /home/acme/git/build/perf/builtin-kvm.o
CC /home/acme/git/build/perf/builtin-test.o
CC /home/acme/git/build/perf/builtin-inject.o
CC /home/acme/git/build/perf/util/abspath.o
CC /home/acme/git/build/perf/util/alias.o
CC /home/acme/git/build/perf/util/annotate.o
CC /home/acme/git/build/perf/util/build-id.o
CC /home/acme/git/build/perf/util/config.o
CC /home/acme/git/build/perf/util/ctype.o
CC /home/acme/git/build/perf/util/debugfs.o
CC /home/acme/git/build/perf/util/sysfs.o
FLEX /home/acme/git/build/perf/util/pmu-flex.c
BISON /home/acme/git/build/perf/util/pmu-bison.c
CC /home/acme/git/build/perf/util/environment.o
CC /home/acme/git/build/perf/util/event.o
CC /home/acme/git/build/perf/util/evlist.o
CC /home/acme/git/build/perf/util/evsel.o
CC /home/acme/git/build/perf/util/exec_cmd.o
CC /home/acme/git/build/perf/util/help.o
CC /home/acme/git/build/perf/util/levenshtein.o
CC /home/acme/git/build/perf/util/parse-options.o
FLEX /home/acme/git/build/perf/util/parse-events-flex.c
BISON /home/acme/git/build/perf/util/parse-events-bison.c
CC /home/acme/git/build/perf/util/parse-events-test.o
CC /home/acme/git/build/perf/util/path.o
CC /home/acme/git/build/perf/util/rbtree.o
CC /home/acme/git/build/perf/util/bitmap.o
CC /home/acme/git/build/perf/util/hweight.o
CC /home/acme/git/build/perf/util/run-command.o
CC /home/acme/git/build/perf/util/quote.o
CC /home/acme/git/build/perf/util/strbuf.o
CC /home/acme/git/build/perf/util/string.o
CC /home/acme/git/build/perf/util/strlist.o
CC /home/acme/git/build/perf/util/strfilter.o
CC /home/acme/git/build/perf/util/top.o
CC /home/acme/git/build/perf/util/usage.o
CC /home/acme/git/build/perf/util/wrapper.o
CC /home/acme/git/build/perf/util/sigchain.o
CC /home/acme/git/build/perf/util/symbol.o
CC /home/acme/git/build/perf/util/color.o
CC /home/acme/git/build/perf/util/pager.o
CC /home/acme/git/build/perf/util/header.o
CC /home/acme/git/build/perf/util/callchain.o
CC /home/acme/git/build/perf/util/values.o
CC /home/acme/git/build/perf/util/debug.o
CC /home/acme/git/build/perf/util/map.o
CC /home/acme/git/build/perf/util/pstack.o
CC /home/acme/git/build/perf/util/session.o
CC /home/acme/git/build/perf/util/thread.o
CC /home/acme/git/build/perf/util/thread_map.o
CC /home/acme/git/build/perf/util/trace-event-parse.o
CC /home/acme/git/build/perf/util/parse-events-flex.o
CC /home/acme/git/build/perf/util/parse-events-bison.o
CC /home/acme/git/build/perf/util/pmu-flex.o
CC /home/acme/git/build/perf/util/pmu-bison.o
CC /home/acme/git/build/perf/util/trace-event-read.o
CC /home/acme/git/build/perf/util/trace-event-info.o
CC /home/acme/git/build/perf/util/trace-event-scripting.o
CC /home/acme/git/build/perf/util/svghelper.o
CC /home/acme/git/build/perf/util/sort.o
CC /home/acme/git/build/perf/util/hist.o
CC /home/acme/git/build/perf/util/probe-event.o
CC /home/acme/git/build/perf/util/util.o
CC /home/acme/git/build/perf/util/xyarray.o
CC /home/acme/git/build/perf/util/cpumap.o
CC /home/acme/git/build/perf/util/cgroup.o
CC /home/acme/git/build/perf/util/target.o
CC /home/acme/git/build/perf/arch/x86/util/dwarf-regs.o
CC /home/acme/git/build/perf/arch/x86/util/header.o
CC /home/acme/git/build/perf/util/probe-finder.o
CC /home/acme/git/build/perf/util/dwarf-aux.o
CC /home/acme/git/build/perf/ui/setup.o
CC /home/acme/git/build/perf/ui/browser.o
CC /home/acme/git/build/perf/ui/browsers/annotate.o
CC /home/acme/git/build/perf/ui/browsers/hists.o
CC /home/acme/git/build/perf/ui/browsers/map.o
CC /home/acme/git/build/perf/ui/helpline.o
CC /home/acme/git/build/perf/ui/progress.o
CC /home/acme/git/build/perf/ui/util.o
CC /home/acme/git/build/perf/ui/tui/setup.o
CC /home/acme/git/build/perf/ui/gtk/browser.o
CC /home/acme/git/build/perf/ui/gtk/setup.o
CC /home/acme/git/build/perf/util/scripting-engines/trace-event-python.o
CC /home/acme/git/build/perf/scripts/python/Perf-Trace-Util/Context.o
make[1]: Entering directory `/home/acme/git/linux/tools/lib/traceevent'
make[2]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule.
GEN perf-archive
CC FPIC event-parse.o
GEN /home/acme/git/build/perf/python/perf.so
CC FPIC trace-seq.o
CC FPIC parse-filter.o
CC FPIC parse-utils.o
BUILD STATIC LIB libtraceevent.a
make[1]: Leaving directory `/home/acme/git/linux/tools/lib/traceevent'
CC /home/acme/git/build/perf/perf.o
CC /home/acme/git/build/perf/builtin-annotate.o
CC /home/acme/git/build/perf/builtin-bench.o
CC /home/acme/git/build/perf/bench/sched-messaging.o
CC /home/acme/git/build/perf/bench/sched-pipe.o
CC /home/acme/git/build/perf/util/pmu.o
CC /home/acme/git/build/perf/util/parse-events.o
AR /home/acme/git/build/perf/libperf.a
LINK /home/acme/git/build/perf/perf
make: Leaving directory `/home/acme/git/linux/tools/perf'
[acme@fedora17 linux]$ cat /etc/fedora-release
Fedora release 17 (Beefy Miracle)
[acme@fedora17 linux]$
[acme@fedora17 linux]$ git describe
perf-urgent-for-mingo
[acme@fedora17 linux]$ git describe --match 'v[0-9].[0-9]*'
v3.5-rc1-87-gcb9dd49
[acme@fedora17 linux]$ git branch | grep '*'
* perf/urgent
[acme@fedora17 linux]$ uname -a
Linux fedora17.ghostprotocols.net 3.4.0-1.fc17.x86_64 #1 SMP Sun Jun 3 06:35:17 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
[acme@fedora17 linux]$
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [GIT PULL 0/3] perf/urgent fixes
2012-06-15 17:13 ` Arnaldo Carvalho de Melo
@ 2012-06-15 18:28 ` Ingo Molnar
2012-06-15 18:35 ` Ingo Molnar
2012-06-15 19:03 ` Ingo Molnar
1 sibling, 1 reply; 10+ messages in thread
From: Ingo Molnar @ 2012-06-15 18:28 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Corey Ashford, David Ahern, Dmitry Antipov,
Frederic Weisbecker, Jim Cromie, Jiri Olsa, Mike Galbraith,
Namhyung Kim, Paul Mackerras, Peter Zijlstra, Stephane Eranian
* Arnaldo Carvalho de Melo <acme@infradead.org> wrote:
> Em Thu, Jun 14, 2012 at 12:07:10PM +0200, Ingo Molnar escreveu:
> > Hm, fails to build here:
> >
> > CC util/parse-events-bison.o
> > util/parse-events.l: In function ‘__value’:
> > util/parse-events.l:18:10: error: ‘PE_ERROR’ undeclared (first
> > use in this function)
> > util/parse-events.l:18:10: note: each undeclared identifier is
> > reported only once for each function it appears in
> > util/parse-events.l:20:2: error: ‘parse_events_lval’ undeclared
> > (first use in this function)
> > util/parse-events.l: In function ‘value’:
> > util/parse-events.l:26:42: error: ‘PE_VALUE’ undeclared (first
> > use in this function)
> > util/parse-events.l: In function ‘raw’:
> > util/parse-events.l:31:44: error: ‘PE_RAW’ undeclared (first use
> > in this function)
> > util/parse-events.l: In function ‘str’:
> >
> > stock Fedora 17 install. 25f42985825d builds fine.
>
> Is this 32-bit? I'm installing another VM now, but on Fedora 17 x86_64:
No, 64-bit - I'll send you more info off-list.
Thanks,
Ingo
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [GIT PULL 0/3] perf/urgent fixes
2012-06-15 18:28 ` Ingo Molnar
@ 2012-06-15 18:35 ` Ingo Molnar
0 siblings, 0 replies; 10+ messages in thread
From: Ingo Molnar @ 2012-06-15 18:35 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Corey Ashford, David Ahern, Dmitry Antipov,
Frederic Weisbecker, Jim Cromie, Jiri Olsa, Mike Galbraith,
Namhyung Kim, Paul Mackerras, Peter Zijlstra, Stephane Eranian
The build does not want to fail anymore :-/
I have no idea what state my tree was in - but I re-applied your
patches and the failure happened again in 'make -j':
CC builtin-help.o
CC builtin-timechart.o
util/parse-events.l: In function ‘__value’:
util/parse-events.l:18:10: error: ‘PE_ERROR’ undeclared (first
use in this function)
util/parse-events.l:18:10: note: each undeclared identifier is
reported only once for each function it appears in
util/parse-events.l:20:2: error: ‘parse_events_lval’ undeclared
(first use in this function)
util/parse-events.l: In function ‘value’:
util/parse-events.l:26:42: error: ‘PE_VALUE’ undeclared (first
use in this function)
then I took off the last patch and did a 'make' - and the bug
did not re-trigger, even after applying your patches again.
It could be some sort of build dependency problem with the flex
files.
Thanks,
Ingo
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [GIT PULL 0/3] perf/urgent fixes
2012-06-15 17:13 ` Arnaldo Carvalho de Melo
2012-06-15 18:28 ` Ingo Molnar
@ 2012-06-15 19:03 ` Ingo Molnar
1 sibling, 0 replies; 10+ messages in thread
From: Ingo Molnar @ 2012-06-15 19:03 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Corey Ashford, David Ahern, Dmitry Antipov,
Frederic Weisbecker, Jim Cromie, Jiri Olsa, Mike Galbraith,
Namhyung Kim, Paul Mackerras, Peter Zijlstra, Stephane Eranian
so, the build dependency bug is hard to trigger and I've pulled
your fixes for the time being because they seem to be unrelated.
Thanks,
Ingo
^ permalink raw reply [flat|nested] 10+ messages in thread