Age | Commit message (Collapse) | Author |
|
|
|
ok art@
|
|
|
|
type characteristics.
internal_types.h will contain only settings invisible from standard C, e.g.,
in the __* or _[A-Z]* namespace, and be reused by files like limits.h.
This allows us to shorten machine/limits.h greatly, as all the common defines
are now in sys/limits.h, plus a small stub in internal_types.h.
Tested on all arches as far as I know.
Approved after discussion with art, millert, deraadt, and others.
|
|
|
|
|
|
|
|
We now can safely swap on raid.
|
|
ok nordin@, deraadt@
|
|
well (not at all) with shortages of the vm_map where the pages are mapped
(usually kmem_map).
Try to deal with it:
- group all information the backend allocator for a pool in a separate
struct. The pool will only have a pointer to that struct.
- change the pool_init API to reflect that.
- link all pools allocating from the same allocator on a linked list.
- Since an allocator is responsible to wait for physical memory it will
only fail (waitok) when it runs out of its backing vm_map, carefully
drain pools using the same allocator so that va space is freed.
(see comments in code for caveats and details).
- change pool_reclaim to return if it actually succeeded to free some
memory, use that information to make draining easier and more efficient.
- get rid of PR_URGENT, noone uses it.
|
|
This permits one to setup a kernel able to automatically retrieve, during
boot, the raid configuration from disks previously used in a RAIDFrame
set. Moreover, one can define a raid set to contain a bootable partition
that will be mounted on / before the system has started.
A new RAID_AUTOCONFIG kernel option is used, in conjunction with the raid
pseudo-device, to activate the feature.
ok drahn@, deraadt@
|
|
OK deraadt@
|
|
idea from deraadt@ via NetBSD
millert@ ok
|
|
|
|
The whole issue of processes and threads need looking at, as NetBSD
and OpenBSD do things slightly differently - think extra arg to
VOP_XXX calls for one.
|
|
This update incorporates changes since January 2000.
RAID1 and RAID5 tested for functionality matching the 2.7 code. A
number of bug fixes (including stopping a parity rebuild when
unconfiguring) have been included. See Greg's RAIDframe info page:
http://www.cs.usask.ca/staff/oster/raid.html
The RAID_AUTOCONFIG feature set does *NOT* yet work. These features
require more work throughout the boot system and as such are a big
task.
IMPORTANT: As with anything that is this near live data on your
systems, please test carefully with existing configurations before
deploying in a live system. Feedback via sendbug or mail direct
to peter@wonderland.org is appreciated.
|
|
- removed threadid stuff
- removed unused files
- general tidyup
- you can no longer configure the same unit twice (without
de-configuring first of course).
Again, this has only been tested locally on IDE disks. Further testing
and feedback would be appreciated.
|
|
more work on the whole code base
|
|
|
|
- remove unused are from IO_BUF_ERR in rf_driver.c
- remove unused define in rf_stripelocks.c
|
|
Please note: This update has *only* been tested on i386 with IDE
disks. Could someone with a spare box please make sure all is OK with
SCSI and maybe other arches ? sparc testing will follow locally.
* remove rf_sys.h
* many changes to make it more stable
* some performance increases
* All raid threads now get their own kernel process and the calling
raidctl(8) program will show status progress through a meter.
* In theory FFS_SOFTUPDATES and RAIDframe will now work together - NOT
TESTED YET
See http://www.cs.usask.ca/staff/oster/raid.html
This updates include Greg's changes to Jan 4th 2000.
TODO:
* some odd behaviour when running raictl -c on an already config'ed
raid set - problem founf, fix being done
* progress meter is in raidctl(8) - seperate commit, but could do with
sync'ing with OpenBSD ftp version
|
|
|
|
|
|
* remove init call to rf_ConfigureEtimer() and rf_sys.c in which it is the
only function. update conf/files to reflect this.
* update sources to make sure _KERNEL is used not KERNEL
* change rf_etimer.h to protect macros an include of sys/kernel.h with
a check for _KERNEL - let raidctl compile again.
|
|
__inline__ - this is a proof of concept and will cover the raidframe
source as a whole over coming updates. Update namespace of function to
prefix with rf_ - comments again welcome.
* overall: rework the macros in rf_etimer.h and the resultant changes
to their use to count microseconds and not clock ticks. Restore the code
in rf_revent.c to a similar strcuture to before the previous commit,
and use the system timers to govern resource usage.
Tested with local i386/IDE and the reconstruction of a disk in my
array - performance has improved for reconstruction at no noticable
CPU cost.
|
|
|
|
based upon hardcoded CPU speed values and an assumtion that the number
of clock cycles was available. This is/was silly.
redone rf_GetNextReconEvent so that is now runs for 1/10th second
before sleeping for a short time (1/50th sec). Locally, this is using
about 25% of the CPU while rebuilding a disk in a four disk IDE RAID5
array. It was 22% of the way through when I last looked... much much
faster.
An even better way is sought - suggestions welcome. Lots of code that
the old routines relied on canm be harvested later.
Patches also being sent to Greg Oster @ NetBSD group.
|
|
|
|
* move composition og openmask in raidclose to before where it is
tested.
|
|
NetBSD. There is no reason to mess with these; they are just being
carried around as a reference at the moment.
|
|
Please note that you *must* follow the upgrade instructions at
http://www.cs.usask.ca/staff/oster/clabel_upgrade.html
before installing the new raidctl and new kernel using this code.
|
|
to the caller. This fixes some cases of panics due to SCSI errors.
|
|
|
|
|