Home | History | Annotate | Download | only in raidframe
History log of /src/sys/dev/raidframe/rf_layout.h
RevisionDateAuthorComments
 1.18  09-Jun-2018  oster Fix two mis-spellings in comments. No functional changes.
 1.17  04-Mar-2007  christos branches: 1.17.128;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.16  11-Dec-2005  christos branches: 1.16.26;
merge ktrace-lwp.
 1.15  27-Feb-2005  perry branches: 1.15.4;
nuke trailing whitespace
 1.14  20-Mar-2004  oster branches: 1.14.8; 1.14.10;
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 :) ]
 1.13  19-Mar-2004  oster Add a few comments to explain what some of these new structures are, and
where they are used.
 1.12  19-Mar-2004  oster Introduce 3 more pools and 6 functions to handle allocating/freeing
elements from the pools.

Re-work rf_SelectAlgorithm() to get rid of all the 8 malloc's, and to
use the new functions to get/put these 'support structures'. I'm not
overly happy with some of the variable names, but them's the breaks.

In the process of changing things, fix a bug:
- in the case where we can't create a dag, free asmh_b and blockFuncs
too!!

[if you were able to look at the source code related to these changes,
and comprehend what was going on without having your eyes bleed or
getting dizzy, please contact me... I'm sure I'll have more code
which would benefit by you having a look at it before I commit it :) ]
 1.11  29-Dec-2003  oster [Having received a definite lack of strenuous objection, a small amount
of strenuous agreement, and some general agreement, this commit is
going ahead because it's now starting to block some other changes I
wish to make.]

Remove most of the support for the concept of "rows" from RAIDframe.
While the "row" interface has been exported to the world, RAIDframe
internals have really only supported a single row, even though they
have feigned support of multiple rows.

Nothing changes in configuration land -- config files still need to
specify a single row, etc. All auto-config structures remain fully
forward/backwards compatible.

The only visible difference to the average user should be a
reduction in the size of a GENERIC kernel (i386) by 4.5K. For those
of us trolling through RAIDframe kernel code, a lot of the driver
configuration code has become a LOT easier to read.
 1.10  09-Feb-2003  jdolecek branches: 1.10.2;
constify some
 1.9  23-Sep-2002  oster bytesPerStripeUnit is set, but never used. Thanks to Simon B. for pointing
this out.
 1.8  23-Sep-2002  oster dataBytesPerStripe is set, but never used. *poof*
 1.7  05-Oct-2001  oster More #if 0's bite the dust.
 1.6  04-Oct-2001  oster Step 2 of the disentanglement. We now look to <dev/raidframe/*> for
the stuff that used to live in rf_types.h, rf_raidframe.h, rf_layout.h,
rf_netbsd.h, rf_raid.h, rf_decluster,h, and a few other places.
Believe it or not, when this is all done, things will be cleaner.

No functional changes to RAIDframe.
 1.5  26-Jan-2001  oster branches: 1.5.2; 1.5.4; 1.5.6;
Clean up some INDENT warnings. (yes, these have been there for a while!)
 1.4  23-May-2000  thorpej Const poison the layout name.
 1.3  05-Feb-1999  oster branches: 1.3.8;
Phase 2 of the RAIDframe cleanup. The source is now closer to KNF
and is much easier to read. No functionality changes.
 1.2  26-Jan-1999  oster RAIDframe cleanup, phase 1. Nuke simulator support, user-land driver,
out-dated comments, and other unneeded stuff. This helps prepare
for cleaning up the rest of the code, and adding new functionality.

No functional changes to the kernel code in this commit.
 1.1  13-Nov-1998  oster RAIDframe, version 1.1, from the Parallel Data Laboratory at
Carnegie Mellon University. Full RAID implementation, including
levels 0, 1, 4, 5, 6, parity logging, and a few other goodies.
Ported to NetBSD by Greg Oster.
 1.3.8.2  11-Feb-2001  bouyer Sync with HEAD.
 1.3.8.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.6.1  11-Oct-2001  fvdl Catch up with -current. Fix some bogons in the sparc64 kbd/ms
attach code. cd18xx conversion provided by mrg.
 1.5.4.2  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.5.4.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.5.2.2  18-Oct-2002  nathanw Catch up to -current.
 1.5.2.1  22-Oct-2001  nathanw Catch up to -current.
 1.10.2.4  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.10.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.10.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.10.2.1  03-Aug-2004  skrll Sync with HEAD
 1.14.10.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.14.8.1  29-Apr-2005  kent sync with -current
 1.15.4.1  03-Sep-2007  yamt sync with head.
 1.16.26.1  12-Mar-2007  rmind Sync with HEAD.
 1.17.128.1  25-Jun-2018  pgoyette Sync with HEAD

RSS XML Feed