summaryrefslogtreecommitdiffstats
path: root/sys/contrib
Commit message (Collapse)AuthorAgeFilesLines
* Lock reporting and assertion changes.eivind1999-12-111-1/+1
| | | | | | | | | | | | | | | * lockstatus() and VOP_ISLOCKED() gets a new process argument and a new return value: LK_EXCLOTHER, when the lock is held exclusively by another process. * The ASSERT_VOP_(UN)LOCKED family is extended to use what this gives them * Extend the vnode_if.src format to allow more exact specification than locked/unlocked. This commit should not do any semantic changes unless you are using DEBUG_VFS_LOCKS. Discussed with: grog, mch, peter, phk Reviewed by: peter
* Revamp the devstat priority system. All disks now have the same priority.ken1999-12-081-1/+2
| | | | | | | | | | | | | | | | | | The same goes for CD drivers and tape drivers. In systems with mixed IDE and SCSI, devices in the same priority class will be sorted in attach order. Also, the 'CCD' priority is now the 'ARRAY' priority, and a number of drivers have been modified to use that priority. This includes the necessary changes to all drivers, except the ATA drivers. Soren will modify those separately. This does not include and does not require any change in the devstat version number, since no known userland applications use the priority enumerations. Reviewed by: msmith, sos, phk, jlemon, mjacob, bde
* Last minute patch that I forgot to apply: check return code of iplattach()guido1999-12-061-0/+2
|
* Revive mlfk_ipl here. This version is slightly changed fromguido1999-12-065-7/+181
| | | | | | | | | | | | | the old one: an unnecessary define (KLD_MODULE) has been deleted and the initialisation of the module is done after domaininit was called to be sure inet is running. Some slight changed were made to ip_auth.c and ip_state.c in order to assure including of sys/systm.h in case we make a kld Make sure ip_fil does nmot include osreldate in kernel mode Remove mlfk_ipl.c from here: no sources allowed in these directories!
* Fix typo, add $FreeBSD$billf1999-12-031-1/+3
|
* Fix a stray (ifdef'ed) reference to a non-existing file.peter1999-11-291-4/+0
|
* Get rid of useless osreldate include for KLD/LKM modules (sys/param.hguido1999-11-231-2/+0
| | | | | already carries what is needed). This is needed for the KLD support.
* Add kernel parts of revived ipfilter (3.3.3.)guido1999-11-2319-0/+10805
|
* Convert various pieces of code to use vn_isdisk() rather than checkingphk1999-11-221-4/+4
| | | | | | | | for vp->v_type == VBLK. In ccd: we don't need to call VOP_GETATTR to find the type of a vnode. Reviewed by: sos
* struct mountlist and struct mount.mnt_list have no business beingphk1999-11-201-2/+1
| | | | | | | | | | a CIRCLEQ. Change them to TAILQ_HEAD and TAILQ_ENTRY respectively. This removes ugly mp != (void*)&mountlist comparisons. Requested by: phk Submitted by: Jake Burkholder jake@checker.org PR: 14967
* Finding root devices is a much more sane thing now.phk1999-11-101-7/+8
|
* * Add struct resource_list* argument to resource_list_alloc anddfr1999-10-121-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | resource_list_release. This removes the dependancy on the layout of ivars. * Move set_resource, get_resource and delete_resource from isa_if.m to bus_if.m. * Simplify driver code by providing wrappers to those methods: bus_set_resource(dev, type, rid, start, count); bus_get_resource(dev, type, rid, startp, countp); bus_get_resource_start(dev, type, rid); bus_get_resource_count(dev, type, rid); bus_delete_resource(dev, type, rid); * Delete isa_get_rsrc and use bus_get_resource_start instead. * Fix a stupid typo in isa_alloc_resource reported by Takahashi Yoshihiro <nyan@FreeBSD.org>. * Print a diagnostic message if we can't assign resources to a PnP device. * Change device_print_prettyname() so that it doesn't print "(no driver assigned)-1" for anonymous devices.
* remove unused #includes.phk1999-10-111-2/+0
|
* Nuke the old antique copy of ipfilter from the tree. This is old enoughpeter1999-10-1017-8628/+0
| | | | | | | | to be dangerous. It will better serve us as a port building a KLD, ala SKIP. The hooks are staying although it would be better to port and use the NetBSD pfil interface rather than have custom hooks.
* Remove five now unused fields from struct cdevsw. They should neverphk1999-09-251-5/+0
| | | | | | | | have been there in the first place. A GENERIC kernel shrinks almost 1k. Add a slightly different safetybelt under nostop for tty drivers. Add some missing FreeBSD tags
* Remove NBPF conditionality of bpf calls in most of our network drivers.phk1999-09-251-9/+0
| | | | | | | | | | | | This means that we will not have to have a bpf and a non-bpf version of our driver modules. This does not open any security hole, because the bpf core isn't loadable The drivers left unchanged are the "cross platform" drivers where the respective maintainers are urged to DTRT, whatever that may be. Add a couple of missing FreeBSD tags.
* Use devstat_end_transaction_buf() rather than Use devstat_end_transaction()phk1999-09-181-7/+4
|
* Bite the bullet and allocate the devsw entry at compile time.phk1999-09-121-1/+2
|
* Use a different tactic when creating the devsw so that disk_create()phk1999-09-121-1/+1
| | | | doesn't need to malloc.
* Update docs for 3.3-Rphk1999-09-082-18/+142
| | | | OK'ed by: jkh
* Clean $Log$ debris.peter1999-09-061-2/+1
|
* Improve the micro "disk" layer after gaining more experience with it.phk1999-09-011-2/+1
|
* Remove unneeded slice element.phk1999-08-291-1/+0
|
* Convert to use the new "disk" layer.phk1999-08-291-107/+79
| | | | A few cleanups while here.
* We don't need to pass the diskname argument all over the diskslice/labelphk1999-08-281-2/+2
| | | | code, we can find the name from any convenient dev_t
* $Id$ -> $FreeBSD$peter1999-08-288-8/+8
|
* $Id$ -> $FreeBSD$peter1999-08-2817-18/+18
|
* SMP: Release the giant lock while we work the flash arrayphk1999-08-151-97/+40
| | | | | | Use splbio() rather than fiddling the hardware interrupts. Remove the compatibility stuff for older FreeBSD versions. Add devstat support.
* Spring cleaning around strategy and disklabels/slices:phk1999-08-141-9/+9
| | | | | | | | | | | | | | Introduce BUF_STRATEGY(struct buf *, int flag) macro, and use it throughout. please see comment in sys/conf.h about the flag argument. Remove strategy argument from all the diskslice/label/bad144 implementations, it should be found from the dev_t. Remove bogus and unused strategy1 routines. Remove open/close arguments from dssize(). Pick them up from dev_t. Remove unused and unfinished setgeom support from diskslice/label/bad144 code.
* Decommision miscfs/specfs/specdev.h. Most of it goes into <sys/conf.h>,phk1999-08-081-2/+2
| | | | | | a few lines into <sys/vnode.h>. Add a few fields to struct specinfo, paving the way for the fun part.
* Fixed a bogus include pathname which broke compiling in an obj directory.bde1999-08-071-2/+2
|
* Fixed syntax errors. Code should be tested before committing it, or atbde1999-08-071-2/+2
| | | | least before enabling it in LINT and merging it into RELENG_3.
* Better way to circumvent the boot problem on older versions.phk1999-08-062-20/+5
| | | | Submitted by: Larry Baird <lab@gta.com>
* Add driver support for M-systems DiskOnChip Products.phk1999-08-068-0/+1568
| | | | Sponsored by: M-systems Inc. http://www.m-sys.com
* Rename bpfilter to bpf.des1999-07-061-6/+6
|
* Update to latest version of PowerMACH Works from Olicom.lile1999-07-055-5135/+5170
|
* No longer need to set B_ASYNC flag since BUF_KERNPROC nowmckusick1999-06-291-2/+1
| | | | unconditionally sets the identity of the buffer.
* Keep the inlines for <sys/buf.h> happy..peter1999-06-271-3/+3
|
* Convert buffer locking from using the B_BUSY and B_WANTED flags to usingmckusick1999-06-261-9/+13
| | | | | | | lockmgr locks. This commit should be functionally equivalent to the old semantics. That is, all buffer locking is done with LK_EXCLUSIVE requests. Changes to take advantage of LK_SHARED and LK_RECURSIVE will be done in future commits.
* Add RCS strings to kernel ipfilter files.green1999-06-192-0/+3
|
* Add a vnode argument to VOP_BWRITE to get rid of the last vnodemckusick1999-06-161-12/+14
| | | | | operator special case. Delete special case code from vnode_if.sh, vnode_if.src, umap_vnops.c, and null_vnops.c.
* Get rid of the global variable rushjob and replace it with a function inmckusick1999-06-151-41/+45
| | | | | kern/vfs_subr.c named speedup_syncer() which handles the speedup request. Change the various clients of rushjob to use the new function.
* Cosmetic changes to make it compile without errors in gcc -Walljulian1999-05-221-10/+17
|
* Add a hook to ffs_fsync to allow soft updates to get first chance at doingmckusick1999-05-141-28/+97
| | | | | | a sync on the block device for the filesystem. That allows it to push the bitmap blocks before the inode blocks which greatly reduces the number of inode rollbacks that need to be done.
* Put back changes that might be causing trouble on Alpha.mckusick1999-05-091-3/+5
|
* Simplify the COMPAT_PCI_DRIVER/DATA_SET hack. We can add:peter1999-05-091-5/+1
| | | | | | | | #define COMPAT_PCI_DRIVER(name,data) DATA_SET(pcidevice_set,data) .. to 2.2.x and 3.x if people think it's worth it. Driver writers can do this if it's not defined. (The reason for this is that I'm trying to progressively eliminate use of linker_sets where it hurts modularity and runtime load capability, and these DATA_SET's keep getting in the way.)
* Whitespace cleanup.mckusick1999-05-071-2/+2
|
* Get rid of random debugging cruft; sync up with latest version.mckusick1999-05-071-38/+10
|
* Severe slowdowns have been reported when creating or removing manymckusick1999-05-071-108/+290
| | | | | | | | | | | | | | | | | | | | | | files at once on a filesystem running soft updates. The root of the problem is that soft updates limits the amount of memory that may be allocated to dependency structures so as to avoid hogging kernel memory. The original algorithm just waited for the disk I/O to catch up and reduce the number of dependencies. This new code takes a much more aggressive approach. Basically there are two resources that routinely hit the limit. Inode dependencies during periods with a high file creation rate and file and block removal dependencies during periods with a high file removal rate. I have attacked these problems from two fronts. When the inode dependency limits are reached, I pick a random inode dependency, UFS_UPDATE it together with all the other dirty inodes contained within its disk block and then write that disk block. This trick usually clears 5-50 inode dependencies in a single disk I/O. For block and file removal dependencies, I pick a random directory page that has at least one remove pending and VOP_FSYNC its directory. That releases all its removal dependencies to the work queue. To further hasten things along, I also immediately start the work queue process rather than waiting for its next one second scheduled run.
* Use COMPAT_PCI_DRIVER() for registration if it exists. This shouldn'tpeter1999-04-241-1/+5
| | | | hurt the driver portability to 3.x too much for where drivers are shared.
OpenPOWER on IntegriCloud