Subject: Re: new pid allocation code
To: David Laight <david@l8s.co.uk>
From: Jason R Thorpe <thorpej@wasabisystems.com>
List: tech-kern
Date: 03/11/2003 06:59:25
On Tue, Mar 11, 2003 at 02:36:30PM +0000, David Laight wrote:

 > The main benefits are:
 > - pid and pgrp lookup (by id) doesn't require a search
 > - no dependency on MAXUSERS
 > - automatically scales well to large numbers of processes
 > - small data footprint for small systems
 > - ability to enumerate through all the processes without holding a lock
 >   for the entire duration, or having very messy locking rules.
 >   (the allproc list and p_list fields could be depracted later).
 > - Largely MP clean

Pretty cool.  Have you done any benchmarks to see if the improved lookup
algorithm has a noticeable impact?

 > (I've been running this code for months!)

A couple of comments:

	* Please see /usr/share/misc/style regarding formatting of
	  comments :-)

	* Don't use MALLOC()/FREE() for variable-sized allocations; use
	  malloc()/free() instead.

	* I think proc0_insert() is a better name than set_proc_0().

All in all, looks good.  But can you explain how the deadproc linkage
works in the new scheme?  (Since you didn't post all of those changes...)

-- 
        -- Jason R. Thorpe <thorpej@wasabisystems.com>