Commit Graph

345 Commits

Author SHA1 Message Date
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