linux/kernel/events
Eric W. Biederman 6883f81aac pid: Implement PIDTYPE_TGID
Everywhere except in the pid array we distinguish between a tasks pid and
a tasks tgid (thread group id).  Even in the enumeration we want that
distinction sometimes so we have added __PIDTYPE_TGID.  With leader_pid
we almost have an implementation of PIDTYPE_TGID in struct signal_struct.

Add PIDTYPE_TGID as a first class member of the pid_type enumeration and
into the pids array.  Then remove the __PIDTYPE_TGID special case and the
leader_pid in signal_struct.

The net size increase is just an extra pointer added to struct pid and
an extra pair of pointers of an hlist_node added to task_struct.

The effect on code maintenance is the removal of a number of special
cases today and the potential to remove many more special cases as
PIDTYPE_TGID gets used to it's fullest.  The long term potential
is allowing zombie thread group leaders to exit, which will remove
a lot more special cases in the code.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2018-07-21 10:43:12 -05:00
..
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
callchain.c perf: Remove superfluous allocation error check 2018-04-17 09:47:40 -03:00
core.c pid: Implement PIDTYPE_TGID 2018-07-21 10:43:12 -05:00
hw_breakpoint.c Merge branch 'perf/urgent' into perf/core 2018-03-29 16:03:48 +02:00
internal.h perf: Make perf_callchain function static 2018-01-08 12:33:01 -03:00
ring_buffer.c treewide: kzalloc_node() -> kcalloc_node() 2018-06-12 16:19:22 -07:00
uprobes.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00