History log of /src/sys/dev/raidframe/rf_reconmap.h |
Revision | | Date | Author | Comments |
1.12 |
| 10-May-2011 |
mrg | convert RF_CommonLogData_s/RF_ReconMap_s mutex to a kmutex/cv.
|
1.11 |
| 19-May-2008 |
oster | branches: 1.11.20; 1.11.26; Re-work some of the guts of the reconstruction code.
Reconmap used to have one pointer for every reconstruction unit. This does not scale well in the land of 1TB disks, where some 100MB+ of "status pointers" are required for typical configurations. Convert the reconstruction code to use a "sliding status window" which will scale nicely regardless of the number of stripes/reconstruction units in the RAID set. Convert the main reconstruction loop to rebuild the array in chunks rather than in one big lump.
As part of these changes, introduce a function to kick any waiters on the head separation callback list, and use that in the main reconstruction event queue to wake up the waiters if things have stalled. (I believe this may fix a race condition that could occur at at least at the very end of a disk during reconstruction under heavy IO load.)
Thanks to Brian Buhrow for all his help, support, and patience in testing these changes.
|
1.10 |
| 11-Dec-2005 |
christos | branches: 1.10.24; 1.10.38; 1.10.70; 1.10.72; 1.10.74; 1.10.76; merge ktrace-lwp.
|
1.9 |
| 18-Mar-2004 |
oster | branches: 1.9.14; Re-work the locking mechanisms for reconstruct and PSS structures such that we don't actually hold a simplelock while we are doing a pool_get(), but that we still effectively protecting critical code.
This should fix all of the outstanding LOCKDEBUG warnings related to rebuilding RAID sets.
|
1.8 |
| 04-Mar-2004 |
oster | Cleanup function prototypes.
|
1.7 |
| 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.6 |
| 06-Oct-2002 |
oster | branches: 1.6.6; poolify the RF_ReconMapListElem_t's used by rf_ReconMapUpdate(). Gives LOCKDEBUG kernels one less thing to complain about.
|
1.5 |
| 05-Oct-2002 |
oster | update_size() does some bookkeeping, but nothing ever reads the data it gathers. Nuke it. Without update_size, FreeReconMapListElem() can do without mapPtr. That, in turn, means crunch_list() doesn't need a mapPtr either.
|
1.4 |
| 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.3 |
| 05-Feb-1999 |
oster | branches: 1.3.20; 1.3.22; 1.3.24; 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.24.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.3.22.1 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.3.20.2 |
| 18-Oct-2002 |
nathanw | Catch up to -current.
|
1.3.20.1 |
| 22-Oct-2001 |
nathanw | Catch up to -current.
|
1.6.6.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.6.6.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.6.6.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.9.14.1 |
| 25-May-2008 |
bouyer | Pull up following revision(s) (requested by oster in ticket #1933): sys/dev/raidframe/rf_reconmap.h: revision 1.11 sys/dev/raidframe/rf_reconmap.c: revision 1.31 sys/dev/raidframe/rf_reconstruct.h: revision 1.24 sys/dev/raidframe/rf_reconstruct.c: revision 1.104 sys/dev/raidframe/rf_revent.c: revision 1.25 Convert the reconstruction code to use a "sliding status window" which will scale nicely regardless of the number of stripes/reconstruction units in the RAID set. Convert the main reconstruction loop to rebuild the array in chunks rather than in one big lump. May fix bin/38471.
|
1.10.76.1 |
| 23-Jun-2008 |
wrstuden | Sync w/ -current. 34 merge conflicts to follow.
|
1.10.74.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.10.72.1 |
| 04-Jun-2008 |
yamt | sync with head
|
1.10.70.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.10.38.1 |
| 03-Jun-2008 |
skrll | Sync with netbsd-4.
|
1.10.24.1 |
| 25-May-2008 |
bouyer | Pull up following revision(s) (requested by oster in ticket #1153): sys/dev/raidframe/rf_reconmap.h: revision 1.11 sys/dev/raidframe/rf_reconmap.c: revision 1.31 sys/dev/raidframe/rf_reconstruct.h: revision 1.24 sys/dev/raidframe/rf_reconstruct.c: revision 1.104 sys/dev/raidframe/rf_revent.c: revision 1.25 Convert the reconstruction code to use a "sliding status window" which will scale nicely regardless of the number of stripes/reconstruction units in the RAID set. Convert the main reconstruction loop to rebuild the array in chunks rather than in one big lump. May fix bin/38471.
|
1.11.26.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.11.20.1 |
| 31-May-2011 |
rmind | sync with head
|