Age | Commit message (Collapse) | Author |
|
need it later on to do locking stuff. fixes the problem with raid
reconstruction, as described in pr 3968. ok mickey@ tedu@ tdeval@
|
|
|
|
encapsulating all such access into wall-defined functions
that makes sure locking is done as needed.
It also cleans up some uses of wall time vs. uptime some
places, but there is sure to be more of these needed as
well, particularily in MD code. Also, many current calls
to microtime() should probably be changed to getmicrotime(),
or to the {,get}microuptime() versions.
ok art@ deraadt@ aaron@ matthieu@ beck@ sturm@ millert@ others
"Oh, that is not your problem!" from miod@
|
|
looked at by various, testing henning@ mcbride@ dan weeks
mostly from netbsd via Pedro Martelletto <pbastos@rdc.puc-rio.br>
|
|
ok tdeval@ millert@ drahn@
|
|
necessary. No functional change.
|
|
fix several errnous error messages (hah)
partitially from PR3566
|
|
|
|
rescinded 22 July 1999. Proofed by myself and Theo.
|
|
|
|
I find time to really follow all cases.
At least it works here, and doesn't add new problems, it seems.
|
|
|
|
|
|
thanks Greg Oster
|
|
Last bits of diff generated by Chris Kuethe.
|
|
Diff generated by Chris Kuethe.
|
|
Use the option RAIDDEBUG to get these.
Theo, thanks for suggesting.
|
|
|
|
It's done automatically now.
|
|
|
|
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.
|