NetBSD/sys/dev
oster 0ff2145648 For each RAID set, pre-allocate a number of "emergency buffers" to be
used in the event that we can't malloc a buffer of the appropriate
size in the traditional way.  rf_AllocIOBuffer() and rf_FreeIOBuffer()
deal with allocating/freeing these structures.  These buffers are
stored in a list on the 'iobuf' list.  iobuf_count keeps track of how
many buffers are available, and numEmergencyBuffers is the effective
"high-water" mark for the freelist.  The buffers allocated by
rf_AllocIOBuffer() are stripe-unit sized, which is the maximum
size requested by any of the callers.

Add an iobufs entry to RF_DagHeader_s.  Use it for keeping track of
buffers that get allocated from the free-list.

Add a "generic list" pool (VoidPointerListElement Pool) for elements
used to maintain a list of allocated memory.  [It is somewhat less
than ideal to add another little pool to handle this...]

Teach rf_AllocBuffer() to use the new rf_AllocIOBuffer().  Modify
other Mallocs to use rf_AllocIOBuffer(), and to update dag_h->iobufs as
appropriate.

Update rf_FreeDAG() to handle cleanup of dag_h->iobufs.

While here, add some missing pool_destroy() calls for a number of pools.

With these changes, it should (in theory) be possible to swap on
RAID 5 sets again.  That said, I've not had any success there yet --
but the last issue I saw at least wasn't in RAIDframe. :-}

[There is room for this code to become a bit more consise, but I
wanted to do a checkpoint here with something known to work :) ]
2004-03-20 04:22:05 +00:00
..
acpi Merge ACPI-CA 20040211. 2004-02-14 16:57:24 +00:00
apm
arcbios
ata It's extension, not extention. From Miod Vallat (miod at online fr). 2004-03-14 20:11:24 +00:00
bi Uppercase CPU, plural is CPUs. 2004-02-13 11:36:08 +00:00
bluetooth
cardbus - Add (missed)"csc->cc_ih = NULL;" in com_cardbus_disable(). 2004-03-11 16:34:54 +00:00
dec Uppercase CPU, plural is CPUs. 2004-02-13 11:36:08 +00:00
dmover
ebus
eisa
gpib occured -> occurred. From Peter Postma. 2004-02-24 15:12:51 +00:00
hpc Scandinavian keyboard layout for Jornada 680/690. 2004-03-18 01:11:58 +00:00
i2c PR/24746: Jared Momose: The _write routine in the at24cxx eeprom driver has 2004-03-11 15:11:53 +00:00
i2o
ic Adapt to the removal of NE2000_USE_WORD() macro, now replaced 2004-03-18 23:38:17 +00:00
ieee1394 xs->timeout is in milliseconds so convert it to tick before passing 2004-02-13 21:22:13 +00:00
ir
isa Abstract the interface between pckbc(4), and the pckbd(4) and pms(4) 2004-03-13 17:31:33 +00:00
isapnp RealTek -> Realtek. 2004-02-13 10:00:54 +00:00
marvell Add gt_dma_bus_mem_to_phys and gt_dma_phys_to_bus_mem. 2004-03-20 01:55:00 +00:00
mca
microcode Spell interrupt with two rs. From Peter Postma. 2004-02-24 15:16:04 +00:00
mii Regen. 2004-02-07 00:51:45 +00:00
mscp
mvme Uppercase CPU, plural is CPUs. 2004-02-13 11:36:08 +00:00
news
ofisa add dependency on isadma for atppc attachments 2004-01-31 13:59:20 +00:00
ofw
pci Add a table of Rx interrupt-threshold register values for mitigating 2004-03-20 02:04:07 +00:00
pckbport ANSIfy, un-__P(), and generally KNF. 2004-03-18 21:05:19 +00:00
pcmcia The D-Link DFE-670TXD can appear with two different vendor IDs for the MAC 2004-03-13 15:09:16 +00:00
podulebus
ppbus occured -> occurred. From Peter Postma. 2004-02-24 15:12:51 +00:00
qbus occured -> occurred. From Peter Postma. 2004-02-24 15:12:51 +00:00
raidframe For each RAID set, pre-allocate a number of "emergency buffers" to be 2004-03-20 04:22:05 +00:00
rasops Check character if it in font limits before drawing it in rasops8_putchar 2004-03-05 08:33:53 +00:00
rcons
sbus Rename PROM_getprop*() => prom_getprop*(). 2004-03-17 17:04:58 +00:00
scsipi cbd -> cdb 2004-03-16 19:10:43 +00:00
smbus
std
sun fb_is_console/SUN4U: fbnode => prom_stdout_node. 2004-03-19 16:05:25 +00:00
sysmon
tc Spell interrupt with two rs. From Peter Postma. 2004-02-24 15:16:04 +00:00
usb Regen. 2004-03-15 11:16:43 +00:00
vinum
vme Replace myetheraddr() by prom_getether(). 2004-03-15 23:51:11 +00:00
wscons Add sun display types. 2004-03-19 09:00:38 +00:00
wsfont
xmi
auconv.c
auconv.h
audio_if.h
audio.c Fix a couple of long-standing bugs in the volume control(s) part of the 2004-01-31 00:07:56 +00:00
audiobell.c
audiobellvar.h
audiovar.h Fix a couple of long-standing bugs in the volume control(s) part of the 2004-01-31 00:07:56 +00:00
aurateconv.c
ccd.c
ccdvar.h
cgd_crypto.c Fix a longstanding bug in key-handling for the blowfish cipher. 2004-03-18 10:42:08 +00:00
cgd_crypto.h
cgd.c Fix a longstanding bug in key-handling for the blowfish cipher. 2004-03-18 10:42:08 +00:00
cgdvar.h
clock_subr.c
clock_subr.h
clockctl.c
cninit.c
cons.c
cons.h
DEVNAMES Add ichlpcib. 2004-03-14 14:13:42 +00:00
dksubr.c
dkvar.h
fss.c occured -> occurred. From Peter Postma. 2004-02-24 15:12:51 +00:00
fssvar.h occured -> occurred. From Peter Postma. 2004-02-24 15:12:51 +00:00
kttcp.c
kttcpio.h
ld.c
ldvar.h
Makefile Abstract the interface between pckbc(4), and the pckbd(4) and pms(4) 2004-03-13 17:31:33 +00:00
md_root.c
md.c
md.h
midi_if.h
midi.c
midisyn.c
midisynvar.h
midivar.h
mm.c
mulaw.c
mulaw.h
nullcons_subr.c
radio_if.h
radio.c
radiovar.h
rnd.c
rndpool.c
sequencer.c
sequencervar.h
verified_exec.c
vnd.c
vndvar.h