Files
android_kernel_samsung_sm8750/include/linux
Eric W. Biederman 22c935f47c [PATCH] pid: implement access helpers for a tacks various process groups
In the last round of cleaning up the pid hash table a more general struct pid
was introduced, that can be referenced counted.

With the more general struct pid most if not all places where we store a pid_t
we can now store a struct pid * and remove the need for a hash table lookup,
and avoid any possible problems with pid roll over.

Looking forward to the pid namespaces struct pid * gives us an absolute form a
pid so we can compare and use them without caring which pid namespace we are
in.

This patchset introduces the infrastructure needed to use struct pid instead
of pid_t, and then it goes on to convert two different kernel users that
currently store a pid_t value.

There are a lot more places to go but this is enough to get the basic idea.

Before we can merge a pid namespace patch all of the kernel pid_t users need
to be examined.  Those that deal with user space processes need to be
converted to using a struct pid *.  Those that deal with kernel processes need
to converted to using the kthread api.  A rare few that only use their current
processes pid values get to be left alone.

This patch:

task_session returns the struct pid of a tasks session.
task_pgrp    returns the struct pid of a tasks process group.
task_tgid    returns the struct pid of a tasks thread group.
task_pid     returns the struct pid of a tasks process id.

These can be used to avoid unnecessary hash table lookups, and to implement
safe pid comparisions in the face of a pid namespace.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-02 07:57:13 -07:00
..
2006-09-26 17:40:24 -04:00
2006-08-03 16:56:02 -04:00
2006-10-01 00:39:29 -07:00
2006-10-01 00:39:29 -07:00
2006-08-31 00:02:15 -04:00
2006-09-28 17:53:58 -07:00
2006-03-23 07:38:09 -08:00
2006-09-22 23:24:30 -04:00
2006-06-26 09:58:36 -07:00
2006-07-03 19:44:51 -07:00
2006-05-08 16:32:05 -07:00
2006-09-26 08:48:54 -07:00
2006-06-23 02:07:36 -07:00
2006-03-31 12:18:54 -08:00
2006-09-22 15:18:47 -07:00
2006-10-01 00:39:33 -07:00
2006-06-25 10:01:19 -07:00
2006-07-28 21:02:00 -07:00
2006-10-02 07:57:12 -07:00
2006-07-03 15:27:03 -07:00
2006-09-26 17:40:24 -04:00
2006-03-26 08:56:56 -08:00
2006-09-26 15:38:52 -07:00
2006-09-28 18:02:18 -07:00
2006-09-28 18:02:13 -07:00
2006-09-28 18:02:02 -07:00
2006-09-28 18:02:31 -07:00
2006-09-28 18:02:29 -07:00
2006-07-03 15:27:03 -07:00
2006-08-21 10:02:50 +02:00
2006-09-28 17:54:01 -07:00
2006-09-28 18:02:30 -07:00
2006-03-20 22:21:10 -08:00
2006-06-21 12:40:49 -07:00
2006-07-03 15:27:00 -07:00
2006-06-05 12:29:17 -07:00
2006-09-26 08:48:47 -07:00
2006-03-22 07:53:57 -08:00
2006-10-01 00:39:18 -07:00
2006-09-28 18:02:22 -07:00
2006-09-29 09:18:12 -07:00
2006-10-01 00:39:19 -07:00
2006-06-25 10:01:13 -07:00
2006-03-23 07:38:14 -08:00
2006-03-23 07:38:14 -08:00
2006-09-22 14:54:20 -07:00
2006-09-28 18:02:58 -07:00
2006-03-20 13:44:40 -05:00
2006-08-27 11:01:32 -07:00
2006-09-26 08:48:48 -07:00
2006-06-25 10:01:09 -07:00
2006-10-01 00:39:17 -07:00
2006-03-27 08:44:48 -08:00
2006-08-19 17:44:31 -04:00
2006-10-02 07:57:12 -07:00
2006-05-04 06:55:12 +02:00
2006-06-28 15:54:27 -07:00
2006-09-25 21:08:37 -07:00
2006-07-03 19:48:25 -07:00
2006-06-23 07:42:49 -07:00
2006-06-25 10:01:06 -07:00
2006-06-25 10:01:06 -07:00
2006-09-26 08:49:04 -07:00
2006-09-26 08:48:44 -07:00
2006-06-25 10:01:14 -07:00
2006-09-29 09:18:11 -07:00
2006-03-23 07:38:12 -08:00
2006-04-02 00:08:05 -05:00
2006-03-28 09:16:05 -08:00
2006-10-01 00:39:18 -07:00
2006-10-01 00:39:19 -07:00
2006-09-26 08:48:58 -07:00
2006-03-31 12:18:56 -08:00
2006-09-28 17:53:59 -07:00
2006-10-01 00:39:18 -07:00
2006-09-27 08:26:20 -07:00
2006-03-23 07:38:14 -08:00
2006-09-28 18:02:16 -07:00
2006-10-01 00:39:34 -07:00
2006-10-01 00:39:19 -07:00
2006-09-29 09:18:13 -07:00
2006-09-29 09:18:12 -07:00
2006-07-10 13:24:25 -07:00
2006-09-25 16:52:14 -04:00