[lttng-dev] [RFC PATCH 0/2] Identify UST threads by changing thread names

Sebastien Boisvert sboisvert at gydle.com
Thu Jun 2 13:22:24 UTC 2016


Hi Raphaël,

> 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.

Do you know if the name of these listener threads can be set in their constructor, directly
when they are brought into this world ?

> 
> 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(+)
> 
> 

I prefer this one. It is less complex, in my opinion.

> 
> 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?)
> 
> 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(+)
> 

Perhaps the availability of pthread_setname_np and/or pthread_set_name_np (you have both names
in your patch 2) should be ascertained in another venue, such as the configure.ac -- where it belongs.

> 
> 
> I'll wait for your comments and ideas on that subject.
> 
> Thanks,
> Raphaël
> 
> 


More information about the lttng-dev mailing list