summaryrefslogtreecommitdiff
path: root/sys/dev/raidframe
AgeCommit message (Collapse)Author
2002-04-24Introduce a new file, machine/internal_types.h, to hold that specific archMarc Espie
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.
2002-03-14Final __P removal plus some cosmetic fixupsTodd C. Miller
2002-03-14First round of __P removal in sysTodd C. Miller
2002-03-08numraid is needed, always.Thierry Deval
2002-03-06Implement a shutdown hook.Thierry Deval
We now can safely swap on raid.
2002-02-16Cope with the new pid allocation semantic from nordin@Thierry Deval
ok nordin@, deraadt@
2002-01-23Pool deals fairly well with physical memory shortage, but it doesn't dealArtur Grabowski
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.
2001-12-29Enable the RAIDFrame auto-configuration feature.Thierry Deval
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@
2001-12-08Fix compilation error when building a raid enabled kernel.Thierry Deval
OK deraadt@
2001-09-20occured->occurredMike Pechkin
idea from deraadt@ via NetBSD millert@ ok
2001-07-09More lame OpenBSD tags.Federico G. Schwindt
2001-01-02Fix PR/1489 - apply patch supplied - thanks Michael Joosten <joost@c-lab.de>Peter Galbavy
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.
2000-08-08sync RAIDframe with Gre Oster's work for NetBSD.Peter Galbavy
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.
2000-01-11sync with NetBSDPeter Galbavy
- 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.
2000-01-11remove 'INTEGRATE' macro that did static __inline__ in advance of doingPeter Galbavy
more work on the whole code base
2000-01-11sync with NetBSD - remove an unused prototype.Peter Galbavy
2000-01-08sync with NetBSDPeter Galbavy
- remove unused are from IO_BUF_ERR in rf_driver.c - remove unused define in rf_stripelocks.c
2000-01-07sync with work by Greg Oster on NetBSDPeter Galbavy
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
1999-12-03Init b_dep so that soft updates work.Artur Grabowski
1999-10-29writen->writtenTodd T. Fries
1999-08-04* remove redundant rf_ccmn.hPeter Galbavy
* 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.
1999-08-03* rf_reconstruct.c: adopt nilkas' suggestion regard statics andPeter Galbavy
__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.
1999-08-02revert from using static functions, as per niklas@openbsd.org advice.Peter Galbavy
1999-08-02fix reconstruction performance. the old code used home-grown timersPeter Galbavy
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.
1999-08-02minor style nitPeter Galbavy
1999-08-02* make some function static, copied from rf_netbsdkintf.cPeter Galbavy
* move composition og openmask in raidclose to before where it is tested.
1999-08-02restore the NetBSD specific files to their -current state fromPeter Galbavy
NetBSD. There is no reason to mess with these; they are just being carried around as a reference at the moment.
1999-07-30Update RAIDframe from NetBSD-current as of 1999/07/26.Peter Galbavy
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.
1999-03-02Remove 3 bad panic cases, which should just report an error upNiklas Hallqvist
to the caller. This fixes some cases of panics due to SCSI errors.
1999-02-16Merge from NetBSD, mostly indentationNiklas Hallqvist
1999-01-11Import of CMU's RAIDframe via NetBSD.Niklas Hallqvist