Ligne 167 dans la fonction alloc_pidmap(struct pid_namespace *pid_ns)
pid=last+1;if(pid>=pid_max)pid=RESERVED_PIDS;
La suite de la fonction détermine si pid est utilisé dans ce namespace pour chercher une autre valeur.
La fonction alloc_pid un peu plus bas, fait une boucle dans la pile des namespaces pour affecter un pid dans chaque namespace défini en utilisant alloc_pidmap
Donc le kernel à la vanille incrémente bien de 1 le PID pour chaque nouveau processus, en tout cas tant qu'on n'a pas dépassé pid_max qui vaut de mémoire 0x8000 en mode normal.
[^] # Re: Petits PIDs
Posté par Sébastien Koechlin . En réponse à la dépêche Évolutions techniques de systemd. Évalué à 4.
Suite à une remarque d'un relecteur, j'ai vérifié en écrivant l'article.
http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.39.y.git;a=blob;f=kernel/pid.c;h=57a8346a270e07702e21d7bab15303427bf2fce0;hb=HEAD
Ligne 167 dans la fonction
alloc_pidmap(struct pid_namespace *pid_ns)La suite de la fonction détermine si
pidest utilisé dans ce namespace pour chercher une autre valeur.La fonction
alloc_pidun peu plus bas, fait une boucle dans la pile des namespaces pour affecter un pid dans chaque namespace défini en utilisantalloc_pidmapDonc le kernel à la vanille incrémente bien de 1 le PID pour chaque nouveau processus, en tout cas tant qu'on n'a pas dépassé pid_max qui vaut de mémoire 0x8000 en mode normal.