[lttng-dev] [RFC PATCH 0/2] Identify UST threads by changing thread names
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Fri Jun 3 06:24:25 UTC 2016
----- On Jun 3, 2016, at 8:18 AM, Mathieu Desnoyers mathieu.desnoyers at efficios.com wrote:
> ----- On Jun 3, 2016, at 8:11 AM, Jeremie Galarneau
> jeremie.galarneau at efficios.com wrote:
>
>> And, of course, I forget to add Mathieu in CC... Coffee time!
>>
>> Jérémie
>>
>> On Fri, Jun 3, 2016 at 2:10 AM, Jérémie Galarneau
>> <jeremie.galarneau at efficios.com> wrote:
>>> Hi Raphaël,
>>>
>>> Adding Mathieu in CC. Please make sure you CC the maintainers when
>>> submitting a patch.
>>>
>>> Regards,
>>> Jérémie
>>>
>>> On Wed, Jun 1, 2016 at 11:04 AM, Raphaël Beamonte
>>> <raphael.beamonte at gmail.com> wrote:
>>>> Hi,
>>>>
>>>> I did not get any feedback about this, any thoughts ?
>>>>
>>>> Thanks,
>>>> Raphaël
>>>>
>>>> 2016-04-21 16:50 GMT-04:00 Raphaël Beamonte <raphael.beamonte at gmail.com>:
>>>>> Hi,
>>>>>
>>>>> This is an RFC patch for comments and ideas about how this should be
>>>>> done. In recent work I've been doing, I found out that some UST-
>>>>> instrumented userspace process was preempting itself. Looking further,
>>>>> it was not the same TID, but the same process name. These processes
>>>>> were LTTng-UST listener threads, but were not identified as so.
>>>>> Adding a simple symbol, such as "-ust" or "-lttng" at the end of the
>>>>> process name would help to identify such process directly in the
>>>>> generated trace.
>>>>>
>>>>> You'll find below two different implementations with their pros
>>>>> and cons, for which the "-ust" symbol was choosen:
>>>>>
>>>>>
>>>>> 1/ An implementation using prctl
>>>>> It works properly on Linux, but I didn't find a way to make
>>>>> it work under FreeBSD, hence the empty function in FreeBSD
>>>>> case (keeping the situation as it is now).
>>>>>
>>>>> Raphaël Beamonte (1):
>>>>> Add -ust to the name of UST threads of the application
>>>>>
>>>>> liblttng-ust/compat.h | 22 ++++++++++++++++++++++
>>>>> liblttng-ust/lttng-ust-comm.c | 2 ++
>>>>> 2 files changed, 24 insertions(+)
>>>>>
>>>>>
>>>>>
>>>>> 2/ An implementation using pthread
>>>>> It works on both Linux and FreeBSD, but requires to add a
>>>>> link to the pthread library in liblttng-ust Makefile.am.
>>>>> Also, this approach relies on the presence of the
>>>>> pthread_setname_np function, which was included in glibc
>>>>> 2.12, meaning it will not work with older versions (but
>>>>> this should not be a problem?)
>
> lttng-ust already uses libc for mutexes and other. So I don't see why
> you have to _add_ any explicit dependency there.
and we already explicitly use pthread (pthread_create).
Thanks,
Mathieu
>
> About the glibc version, we should use autotools to detect the
> features supported by the system libc, and pass a config define
> to the source code, so we can use the glibc pthread_setname_np
> if available, else we keep the current behavior.
>
> Thoughts ?
>
> Thanks,
>
> Mathieu
>
>>>>>
>>>>> Raphaël Beamonte (1):
>>>>> Add -ust to the name of UST threads of the application
>>>>>
>>>>> liblttng-ust/Makefile.am | 1 +
>>>>> liblttng-ust/compat.h | 35 +++++++++++++++++++++++++++++++++++
>>>>> liblttng-ust/lttng-ust-comm.c | 2 ++
>>>>> 3 files changed, 38 insertions(+)
>>>>>
>>>>>
>>>>>
>>>>> I'll wait for your comments and ideas on that subject.
>>>>>
>>>>> Thanks,
>>>>> Raphaël
>>>>>
>>>>>
>>>>> --
>>>>> 2.1.4
>>>>>
>>>> _______________________________________________
>>>> lttng-dev mailing list
>>>> lttng-dev at lists.lttng.org
>>>> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
>>>
>>>
>>>
>>> --
>>> Jérémie Galarneau
>>> EfficiOS Inc.
>>> http://www.efficios.com
>>
>>
>>
>> --
>> Jérémie Galarneau
>> EfficiOS Inc.
>> http://www.efficios.com
>
> --
> Mathieu Desnoyers
> EfficiOS Inc.
> http://www.efficios.com
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
More information about the lttng-dev
mailing list