Add the MPIPE subsystem. This subsystem is used for 'pipelining' fixed-size
authorMatthew Dillon <dillon@dragonflybsd.org>
Sun, 30 Nov 2003 20:14:18 +0000 (20:14 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Sun, 30 Nov 2003 20:14:18 +0000 (20:14 +0000)
commitc35323b66d630c18ceaa4cbcb8308601adfc3406
treed5dc198dd88c32767c748c00f1087c63b77d3ac3
parent342b478ef01fd40ad934ee360fe56af553d143b2
Add the MPIPE subsystem.  This subsystem is used for 'pipelining' fixed-size
allocations.  Pipelining is used to avoid lack-of-resource deadlocks by
still allowing resource allocations to 'block' by guarenteeing that an
already in-progress operation will soon free memory that will be immediately
used to satisfy the blocked resource.

Adjust the ATAold code to use the new mechanism and remove the code that
tried to back-off into PIO mode when resources were lacking.
15 files changed:
sys/conf/files
sys/dev/disk/ata/ata-all.c
sys/dev/disk/ata/ata-all.h
sys/dev/disk/ata/ata-disk.c
sys/dev/disk/ata/ata-dma.c
sys/dev/disk/ata/ata-isa.c
sys/dev/disk/ata/ata-raid.c
sys/dev/disk/ata/atapi-all.c
sys/dev/disk/ata/atapi-cam.c
sys/dev/disk/ata/atapi-cd.c
sys/dev/disk/ata/atapi-fd.c
sys/dev/disk/ata/atapi-tape.c
sys/kern/kern_mpipe.c [new file with mode: 0644]
sys/sys/malloc.h
sys/sys/mpipe.h [new file with mode: 0644]