oster
2a80a0fbe1
make 'configureMutex' be a lockmgr lock instead of a simple lock.
...
The result is MUCH fewer complaints with kernels compiled with LOCKDEBUG.
2002-08-08 02:55:36 +00:00
oster
7c2df6a96d
Initial kick at some functions to provide lockmgr lock support
...
instead of only simplelock support.
2002-08-08 02:54:29 +00:00
oster
813fbd6152
RF_LOCK_MUTEX()/RF_UNLOCK_MUTEX() often cover more code than they
...
needs to. In particular, they often surround calls to malloc().
Re-work the locking on most macros to avoid this problem.
XXX: On MP systems, simultaneous calls to the GET macros when a
freelist is empty may cause that freelist to grow more quickly than
before. Given that the "increment" value of these lists are fairly
small, this shouldn't be too much of an issue.
2002-08-08 02:53:01 +00:00
oster
9c2db4ef79
Let's not bother poking CD's to see if they might have RAID sets
...
on them.
2002-08-07 20:45:39 +00:00
oster
2a9c8b7cfd
One less debug option.
2002-08-04 03:33:04 +00:00
oster
522009f8a9
Nuke some unneeded #includes.
2002-08-04 03:27:04 +00:00
oster
1387eac16b
Remove a couple of options that are obsolete.
2002-08-04 03:26:39 +00:00
oster
6ad082845f
Let's just say that the way things were stored in the array for the
...
debugging buffer made it much less useful than it appears. More memory
for other things now.
2002-08-04 03:22:07 +00:00
oster
354a8ea84b
Improve error messages.
2002-08-03 01:24:03 +00:00
oster
48a3ce178f
Nuke function prototypes for previously nuked functions.
2002-08-03 01:07:53 +00:00
oster
91d1d5d729
Nuke two more functions that arn't used anywhere and are only contributing
...
to kernel bloat.
2002-08-03 01:06:48 +00:00
oster
35940367a4
Cleanup configuration and auto-configuration information printing.
...
Thanks to mrg for the suggestions.
2002-08-03 00:55:54 +00:00
oster
61015077a7
Backout some "new stuff" that accidentally got included on the last commit.
2002-08-03 00:38:42 +00:00
oster
d64a7f44ce
- AuxFunc is no longer used.
...
- cleanup function prototypes in rf_diskqueue.h
2002-08-02 04:01:51 +00:00
oster
5dcdb1e4d9
It appears that nothing is using rf_CreateDiskQueueDataFull. Make it even
...
harder to do so by removing it.
2002-08-02 03:55:13 +00:00
oster
475b3447d1
Bye-bye to the memchunk files.
2002-08-02 03:48:14 +00:00
oster
8ffec04f7c
rf_memchunk.c is no longer needed.
2002-08-02 03:47:48 +00:00
oster
752e8eb5c8
- remove "#include "rf_memchunk.h"
...
- nuke the call to rf_ConfigureMemChunk() from rf_driver.c
2002-08-02 03:42:33 +00:00
oster
fcc4232f71
Nuke stuff dealing with the experimental memChunk code. It's unused, and
...
currently only contributing to bloat.
2002-08-02 03:32:56 +00:00
oster
f8388364aa
- remove memChunkEnable as an arg to InitHdrNode
2002-08-02 01:15:22 +00:00
oster
bf72c7334c
Unused code go bye-bye.
2002-08-02 00:24:56 +00:00
oster
de6f092d9d
RAIDframe doesn't need to be so chatty on autoconfigure. Leave it
...
a chatty if DEBUG is set... (for now..)
2002-07-24 02:55:22 +00:00
oster
4c591ca7bc
Don't print the value of protectedSectors all the time.
2002-07-24 02:17:14 +00:00
hannken
7de36862a8
Rename bufq_init() to bufq_alloc().
...
Add bufq_free() to remove a buffer queue.
Avoid MALLOC while holding a spinlock.
From Chuck Silvers.
2002-07-21 15:32:17 +00:00
hannken
856bd17f66
Convert to new device buffer queue interface.
2002-07-20 16:30:18 +00:00
oster
9a86d198bb
Oops... one more #include can disappear.
2002-07-14 03:20:12 +00:00
oster
1c1010f7e7
Nuke unneeded #include.
2002-07-14 03:16:06 +00:00
oster
3995c18b9e
Remove incorrect comment.
2002-07-14 03:04:02 +00:00
oster
76e98667c5
Nuke a redundant wakeup().
2002-07-13 20:54:57 +00:00
oster
ef989419d9
Nuke a redundant check.
2002-07-13 20:51:54 +00:00
oster
bc8ead0c0a
Most folks won't need the DAG printing and verification routines.
...
Introduce a #define to toggle them on/off. Disable calls to
rf_PrintDAGList(). Saves ~6K on GENERIC+DEBUG kernel on i386.
2002-07-13 20:14:33 +00:00
oster
1beb201fc3
rf_ValidateDAG isn't something that we want to even consider
...
calling unless DEBUG is turned on.
2002-07-13 20:01:13 +00:00
oster
28ce42a2bb
Minor cleanup.
2002-07-13 19:59:26 +00:00
oster
33643c74c5
rf_compute_workload_shift() is only used by the CHAINDECLUSTER stuff,
...
so only include it if needed.
2002-07-13 19:56:55 +00:00
oster
69fb0af058
Nuke a redundant check that raidPtr->valid is true.
2002-07-13 19:35:34 +00:00
oster
8fcfe433d8
No need to unlock and then immediately relock a mutex.
2002-07-13 17:47:44 +00:00
oster
38f0cae9e2
- don't be quite so chatty.
...
- if we need to print stuff, print out which raid device the information
is related to (where applicable).
2002-07-13 17:24:41 +00:00
oster
73eaafcf06
As suggested by MRG, if we have an autoconfig set for root, we should
...
set booted_device, even if RB_ASKNAME is set. That way the appropriate
device gets set as the default when it asks where you want to look for /.
2002-07-13 17:04:09 +00:00
oster
acb6f97235
Cleanup unneeded #includes.
2002-07-13 16:53:44 +00:00
leo
4fdfe6f24c
Exclude the Atari/Milan floppy driver from being a RAID capable device.
2002-06-27 05:13:33 +00:00
leo
c80fa51681
Not so fast... Add a bit of comment to the previous change.
2002-05-23 15:12:59 +00:00
leo
2ac118b51f
Treat the "hdfd" (Atari/Hades floppy) like all the other "fd"s. OK-ed by
...
Greg Oster.
2002-05-23 15:03:33 +00:00
wiz
45bbb2368f
bcopy -> memcpy. Reviewed by Greg Oster.
2002-05-22 15:40:47 +00:00
thorpej
bbb03955e8
Centralize the RAIDframe config definitions.
2002-04-16 20:33:00 +00:00
thorpej
a180cee23b
Pool deals fairly well with physical memory shortage, but it doesn't
...
deal with shortages of the VM maps where the backing pages are mapped
(usually kmem_map). Try to deal with this:
* Group all information about the backend allocator for a pool in a
separate structure. The pool references this structure, rather than
the individual fields.
* Change the pool_init() API accordingly, and adjust all callers.
* Link all pools using the same backend allocator on a list.
* The backend allocator is responsible for waiting for physical memory
to become available, but will still fail if it cannot callocate KVA
space for the pages. If this happens, carefully drain all pools using
the same backend allocator, so that some KVA space can be freed.
* Change pool_reclaim() to indicate if it actually succeeded in freeing
some pages, and use that information to make draining easier and more
efficient.
* Get rid of PR_URGENT. There was only one use of it, and it could be
dealt with by the caller.
From art@openbsd.org .
2002-03-08 20:48:27 +00:00
wiz
1b7f309f0a
Correct misspellings of "failed".
2002-03-04 01:38:31 +00:00
oster
71a4ca8acd
Bah.. Not sure how those ";"'s got missed :-(
2002-01-19 22:20:48 +00:00
oster
9872e4c410
Let's not bother building a number of infrequently used RAID types.
...
The code is still there if people want it, but these other RAID
types (using various DECLUSTERING and SPARING techniques) arn't being
used in practise. Saves about 100K on i386 GENERIC kernels.
2002-01-19 02:50:54 +00:00
oster
e38e358cb2
Only include some debugging printf's if DEBUG is defined.
2002-01-19 01:51:51 +00:00
thorpej
bd4e2862b0
We only need a single component buffer pool.
2002-01-09 04:21:43 +00:00