<div dir="ltr">Hi <span style="font-size:13px;font-family:arial,sans-serif">Jérémie,</span><div><font face="arial, sans-serif"><br></font></div><div><span style="font-family:arial,sans-serif;font-size:13px">"lttng </span><span style="font-family:arial,sans-serif;font-size:13px">add-context" should not fail when </span>several unique performance counters added after start program with tracepoints. Now <span style="font-size:13px;font-family:arial,sans-serif">"lttng </span><span style="font-size:13px;font-family:arial,sans-serif">add-context"</span> fail <span style="font-family:arial,sans-serif;font-size:13px">when</span> several unique perf_tread context added after start program with tracepoints.</div><div><span style="font-family:arial,sans-serif"><br></span></div><div><span style="font-family:arial,sans-serif">I wrote about this problem:</span><br></div><div><div><br></div><div>---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Alexander Grigoriev</b> <span dir="ltr"><<a href="mailto:alexgri@tbricks.com">alexgri@tbricks.com</a>></span><br>Date: Tue, Sep 30, 2014 at 4:23 PM<br>Subject: Problem with perf:thread in 2.5<br>To: <a href="mailto:lttng-dev@lists.lttng.org">lttng-dev@lists.lttng.org</a><br><br><br><div dir="ltr"><div>Hello,<br><br>I use lttng-2.5 and linux-3.8.13. When I try to add context with several performance counters after start program with tracepoints, I get the following error:<br><br>> app_with_lttng &  // { tracepoint(test, test, 1); sleep(1000); }<br>[1] 19297<br><br>> lttng destroy -a<br>No session found, nothing to do.<br><br>> lttng -vvv create test<br>DEBUG3 - 14:54:42.713573 [19313/19313]: URI string: file:///home/alexgri/lttng-traces/test-20140930-145442 (in uri_parse() at uri.c:293)<br>DEBUG3 - 14:54:42.713607 [19313/19313]: URI file destination: /home/alexgri/lttng-traces/test-20140930-145442 (in uri_parse() at uri.c:330)<br>DEBUG3 - 14:54:42.713616 [19313/19313]: URI dtype: 3, proto: 0, host: , subdir: , ctrl: 0, data: 0 (in uri_parse() at uri.c:507)<br>DEBUG1 - 14:54:42.713667 [19313/19313]: LSM cmd type : 8 (in send_session_msg() at lttng-ctl.c:131)<br>Session test created.<br>Traces will be written in /home/alexgri/lttng-traces/test-20140930-145442<br>DEBUG1 - 14:54:42.715819 [19313/19313]: Init config session in /home/alexgri (in config_init() at conf.c:295)<br><br>> lttng -vvv add-context -u -t vpid -t perf:thread:cpu-cycles -t perf:thread:instructions -t perf:thread:cache-misses -s test<br>DEBUG1 - 14:54:52.124745 [19316/19316]: Adding context... (in add_context() at commands/add_context.c:600)<br>DEBUG1 - 14:54:52.133393 [19316/19316]: LSM cmd type : 0 (in send_session_msg() at lttng-ctl.c:131)<br>UST context vpid added to all channels<br>DEBUG1 - 14:54:52.153445 [19316/19316]: Adding context... (in add_context() at commands/add_context.c:600)<br>DEBUG1 - 14:54:52.153499 [19316/19316]: LSM cmd type : 0 (in send_session_msg() at lttng-ctl.c:131)<br>UST context perf:thread:cpu-cycles added to all channels<br>DEBUG1 - 14:54:52.154356 [19316/19316]: Adding context... (in add_context() at commands/add_context.c:600)<br>DEBUG1 - 14:54:52.154392 [19316/19316]: LSM cmd type : 0 (in send_session_msg() at lttng-ctl.c:131)<br>Error: perf:thread:instructions: UST context already exist<br>DEBUG1 - 14:54:52.154469 [19316/19316]: Adding context... (in add_context() at commands/add_context.c:600)<br>DEBUG1 - 14:54:52.154525 [19316/19316]: LSM cmd type : 0 (in send_session_msg() at lttng-ctl.c:131)<br>Error: perf:thread:cache-misses: UST context already exist<br>Warning: Some command(s) went wrong<br>DEBUG1 - 14:54:52.154620 [19316/19316]: Clean exit (in clean_exit() at lttng.c:167)<br><br>'lttng-sessiond -vvv' logs in attachment</div><div><br><div><div dir="ltr"><div>Thanks,<br>Alexander</div><div>---------------------------------------------------<br></div></div></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div>Thanks,<br>Alexander</div></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 3, 2014 at 11:28 PM, Jérémie Galarneau <span dir="ltr"><<a href="mailto:jeremie.galarneau@efficios.com" target="_blank">jeremie.galarneau@efficios.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hi Alexander,<br>
<br>
Just to make sure I understand the problem, is your point that "lttng<br>
add-context" should not fail when multiple contexts are added just<br>
because one of them was already present? If not, could you provide a<br>
log demonstrating the issue?<br>
<br>
Thanks!<br>
Jérémie<br>
<div><div class="h5"><br>
On Sat, Nov 1, 2014 at 7:14 PM, Alexander Grigoriev <<a href="mailto:alexgri@tbricks.com">alexgri@tbricks.com</a>> wrote:<br>
> In commit aa3514e96f12c13f681a81ea275dc51dd63473c8 not removed old check<br>
> for duplicate context type in create_ust_app_channel_context() function. If<br>
> the one of perf_tread contexts was already added, in the next<br>
> similar operation function returns error code EEXIST "UST context<br>
> already exist".<br>
><br>
> Signed-off-by: Alexander Grigoriev <<a href="mailto:alexgri@tbricks.com">alexgri@tbricks.com</a>><br>
> ---<br>
>  src/bin/lttng-sessiond/ust-app.c | 7 -------<br>
>  1 file changed, 7 deletions(-)<br>
><br>
> diff --git a/src/bin/lttng-sessiond/ust-app.c b/src/bin/lttng-sessiond/ust-app.c<br>
> index f8e9693..7f1594b 100644<br>
> --- a/src/bin/lttng-sessiond/ust-app.c<br>
> +++ b/src/bin/lttng-sessiond/ust-app.c<br>
> @@ -1940,13 +1940,6 @@ int create_ust_app_channel_context(struct ust_app_session *ua_sess,<br>
><br>
>         DBG2("UST app adding context to channel %s", ua_chan->name);<br>
><br>
> -       lttng_ht_lookup(ua_chan->ctx, (void *)((unsigned long)uctx->ctx), &iter);<br>
> -       node = lttng_ht_iter_get_node_ulong(&iter);<br>
> -       if (node != NULL) {<br>
> -               ret = -EEXIST;<br>
> -               goto error;<br>
> -       }<br>
> -<br>
>         ua_ctx = alloc_ust_app_ctx(uctx);<br>
>         if (ua_ctx == NULL) {<br>
>                 /* malloc failed */<br>
> --<br>
> 1.9.1<br>
><br>
><br>
</div></div>> _______________________________________________<br>
> lttng-dev mailing list<br>
> <a href="mailto:lttng-dev@lists.lttng.org">lttng-dev@lists.lttng.org</a><br>
> <a href="http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev" target="_blank">http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev</a><br>
<span class=""><font color="#888888"><br>
<br>
<br>
--<br>
Jérémie Galarneau<br>
EfficiOS Inc.<br>
<a href="http://www.efficios.com" target="_blank">http://www.efficios.com</a><br>
</font></span></blockquote></div><br></div></div>