Bring in a bunch of well tested MPIPE changes. Preallocate a minimum
authorMatthew Dillon <dillon@dragonflybsd.org>
Mon, 29 Mar 2004 16:22:23 +0000 (16:22 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Mon, 29 Mar 2004 16:22:23 +0000 (16:22 +0000)
commit537f47f346c959a536cb69815542bca5ba42c9f1
treedcaf186ae1f918fee19b5d6d5b8ab7f9d591a061
parentb4caac98df9f95f5a2420df62dad5299ac17ab6f
Bring in a bunch of well tested MPIPE changes.  Preallocate a minimum
number of mpipe elements when it is initialized.  Use an array to cache
free MPIPE buffers nad remove the data structure overloading that was
previously occuring on the buffer itself.  Add a deconstructor.  Separate
the blocking and non-blocking allocation APIs into their own functions.

The new code still needs Giant, but it's getting a lot closer to being
lock free.
sys/dev/disk/ata/ata-all.c
sys/dev/disk/ata/ata-disk.c
sys/dev/disk/ata/ata-dma.c
sys/kern/kern_mpipe.c
sys/sys/mpipe.h