On Sun, Jan 25, 2015 at 8:43 AM, Jiri Olsa <jo...@redhat.com> wrote: > On Fri, Jan 16, 2015 at 11:46:36AM -0500, Jérémie Galarneau wrote: >> On Fri, Jan 16, 2015 at 10:26 AM, Alexandre Montplaisir >> <alexmon...@voxpopuli.im> wrote: >> > On 2015-01-15 03:57 PM, Alexandre Montplaisir wrote: >> >> >> >> Hi, >> >> >> >> I'm a developer for the Trace Compass tool (see links [3], [4] in Jiri's >> >> email). I can confirm that the generated CTF can be read correctly by our >> >> tool, which enables many views and analyses (Control Flow, CPU usage view, >> >> etc.) that were previously only available for LTTng traces. >> >> >> >> Some of our users also use perf extensively, and are looking forward to >> >> this feature! Is there any ETA as to when this will be merged upstream? >> >> >> >> Thanks, >> >> Alexandre >> > >> > >> > That was a bit too fast, it seems there are issues with very recent >> > versions >> > of Babeltrace. You can follow the discussion at >> > http://lists.linuxfoundation.org/pipermail/diamon-discuss/2015-January/000007.html >> > >> >> It's a regression introduced by a commit that was pushed to master >> yesterday. I'm working on a fix. >> In the meantime, testing against Babeltrace master 3baf0856 should be >> alright. > > even on this HEAD I'm still getting the 3rd issue I described in earlier > email: > > --- > the bt_ctf_trace_create_stream function tries to set ID on > stream_class which gets frozen just few moments ago in > bt_ctf_stream_create call.. > > this trigers failure and close up of stream fd which is not set yet: > > if (close(stream->pos.fd)) { > perror("close"); > } > > hence the 'close: Bad file descriptor' message > so this one looks like a bug to me, but we might be misusing the API > also.. > --- > > I need attached patch in perf code.. any idea? >
I have merged a patch addressing this problem. Thanks for reporting! commit 29d9d76c476cbf3fdf6fa709bfbdc24309974f06 Author: Jérémie Galarneau <jeremie.galarn...@efficios.com> Date: Wed Jan 28 16:52:28 2015 -0500 Fix: lock stream class after assigning stream id Fixes a bug that was introduced by 2f100782 which made it possible to set custom stream class IDs. The stream class is frozen when a stream of its type is instanciated. However, the trace or writer must still assign a unique ID to the stream class if none were set prior. This modification moves the stream class locking (freeze) after the ID assignment check. Reported-by: Jiri Olsa <jo...@redhat.com> Signed-off-by: Jérémie Galarneau <jeremie.galarn...@efficios.com> Jérémie > thanks, > jirka > > > --- > diff --git a/tools/perf/util/data-convert-bt.c > b/tools/perf/util/data-convert-bt.c > index bdb493febff6..0d75e1ed348c 100644 > --- a/tools/perf/util/data-convert-bt.c > +++ b/tools/perf/util/data-convert-bt.c > @@ -960,6 +960,11 @@ static int ctf_writer__init(struct ctf_writer *cw, const > char *path) > goto err_cleanup; > } > > + if (bt_ctf_stream_class_set_id(stream_class, 0)) { > + pr("Failed to set CTF stream class ID.\n"); > + goto err_cleanup; > + } > + > cw->stream_class = stream_class; > > /* CTF clock stream setup */ -- Jérémie Galarneau EfficiOS Inc. http://www.efficios.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/