[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