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