RFC: set the thread name

From: Stefani Seibold
Date: Tue Jun 16 2009 - 07:04:23 EST


Currently it is not easy to identify a thread in linux, because there is
no thread name like in some other OS.

If there were are thread name then we could extend a kernel segv message
and the /proc/<pid>/task/<tid>/... entries by a TName value like this:

cat /proc/492/task/495/status
Name: test
TName: RX-Data <- this is the thread identification field
State: S (sleeping)
Tgid: 492
Pid: 495
PPid: 1
.
.
.

This will it make much easier to determinate which thread id is
associated to a logical thread.

It would be possible do this without add a new entry to the task_struct.
Just use the comm entry which is available, because it has the same
value as the group_leader->comm entry.

The only thing to do is to replace all task_struct->comm access by
task_struct->group_leader->comm to have the old behavior. This can be
eventually encapsulated by a macro.

The task_struct->comm of a non group_leader would be than the name of
the thread.

The only drawback is that there are a lot of files which must be
modified. A quick
find linux-2.6.30 -type f | xargs grep -l -e "->comm\>" | wc -l
shows 215 files. But this can be handled.

So i propose a new system call to give a thread a name.

What do you think?

Greetings,
Stefani


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/