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

Raphaël Beamonte raphael.beamonte at gmail.com
Thu Apr 21 20:50:31 UTC 2016


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

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



More information about the lttng-dev mailing list