Hi,
I was looking at pid.c file and can't understand pid_max usage.
It's defined as integer (signed) =PID_MAX_DEFAULT (which is 0x8000 (on old
arch, integer max positive value isn't 32767 ? so 0x8000 -> -32768).
In alloc_pidmap, 'if (pid>=pid_max)' should be in that case always
true so pid=RESERVED_PIDS which is 300 (?).Why not use pid>PID_MAX_DEFAULT
there and forget the pid_max definition ? and why do we have that '300'
value ?
Regards,
Fabian
On Wed, Jul 30, 2003 at 09:53:12AM +0200, Frederick, Fabian wrote:
> I was looking at pid.c file and can't understand pid_max usage.
> It's defined as integer (signed) =PID_MAX_DEFAULT (which is 0x8000 (on old
> arch, integer max positive value isn't 32767 ? so 0x8000 -> -32768).
> In alloc_pidmap, 'if (pid>=pid_max)' should be in that case always
> true so pid=RESERVED_PIDS which is 300 (?).Why not use pid>PID_MAX_DEFAULT
> there and forget the pid_max definition ? and why do we have that '300'
> value ?
It's to avoid trying to allocate from the range of pid's typically used
by kernel threads and system daemons after bootup. There are no hard
dependencies on it, it's merely "traditional pidspace layout".
-- wli