summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* - Protect the callout wheel with a separate spin mutex, callout_lock.jake2000-11-1911-20/+50
| | | | | | | | | | | - Use the mutex in hardclock to ensure no races between it and softclock. - Make softclock be INTR_MPSAFE and provide a flag, CALLOUT_MPSAFE, which specifies that a callout handler does not need giant. There is still no way to set this flag when regstering a callout. Reviewed by: -smp@, jlemon
* Check return code from login_tty. Allow getty to try and becomejwd2000-11-191-1/+12
| | | | | | | a daemon and session leader (thus allowing getty to be run from a shell command line or script). Partially Reviewed by: bde
* Add/fix the ability to split a file larger than 2 gigabytes.jwd2000-11-191-4/+6
| | | | | | | | Added $FreeBSD tag (in the way the already present sccsid is done). I've been told the rcsid stuff may be of dubious value so I'm curious to know if folks (still) use it. Submitted by: Brad Chisholm <blc@bsdwins.com>
* Implement a low-memory deadlock solution.dillon2000-11-1814-185/+315
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed most of the hacks that were trying to deal with low-memory situations prior to now. The new code is based on the concept that I/O must be able to function in a low memory situation. All major modules related to I/O (except networking) have been adjusted to allow allocation out of the system reserve memory pool. These modules now detect a low memory situation but rather then block they instead continue to operate, then return resources to the memory pool instead of cache them or leave them wired. Code has been added to stall in a low-memory situation prior to a vnode being locked. Thus situations where a process blocks in a low-memory condition while holding a locked vnode have been reduced to near nothing. Not only will I/O continue to operate, but many prior deadlock conditions simply no longer exist. Implement a number of VFS/BIO fixes (found by Ian): in biodone(), bogus-page replacement code, the loop was not properly incrementing loop variables prior to a continue statement. We do not believe this code can be hit anyway but we aren't taking any chances. We'll turn the whole section into a panic (as it already is in brelse()) after the release is rolled. In biodone(), the foff calculation was incorrectly clamped to the iosize, causing the wrong foff to be calculated for pages in the case of an I/O error or biodone() called without initiating I/O. The problem always caused a panic before. Now it doesn't. The problem is mainly an issue with NFS. Fixed casts for ~PAGE_MASK. This code worked properly before only because the calculations use signed arithmatic. Better to properly extend PAGE_MASK first before inverting it for the 64 bit masking op. In brelse(), the bogus_page fixup code was improperly throwing away the original contents of 'm' when it did the j-loop to fix the bogus pages. The result was that it would potentially invalidate parts of the *WRONG* page(!), leading to corruption. There may still be cases where a background bitmap write is being duplicated, causing potential corruption. We have identified a potentially serious bug related to this but the fix is still TBD. So instead this patch contains a KASSERT to detect the problem and panic the machine rather then continue to corrupt the filesystem. The problem does not occur very often.. it is very hard to reproduce, and it may or may not be the cause of the corruption people have reported. Review by: (VFS/BIO: mckusick, Ian Dowse <iedowse@maths.tcd.ie>) Testing by: (VM/Deadlock) Paul Saab <ps@yahoo-inc.com>
* Add the splvm()'s suggested in PR 20609 to protect vm_pager_page_unswapped().dillon2000-11-181-0/+3
| | | | | | The remainder of the PR is still open. PR: kern/20609 (partial fix)
* This patchset fixes a large number of file descriptor race conditions.dillon2000-11-1817-245/+1789
| | | | | | | | | | | | Pre-rfork code assumed inherent locking of a process's file descriptor array. However, with the advent of rfork() the file descriptor table could be shared between processes. This patch closes over a dozen serious race conditions related to one thread manipulating the table (e.g. closing or dup()ing a descriptor) while another is blocked in an open(), close(), fcntl(), read(), write(), etc... PR: kern/11629 Discussed with: Alexander Viro <viro@math.psu.edu>
* Fix typo.ben2000-11-181-1/+1
| | | | | PR: 22923 Submitted by: Jimmy Olgeni <olgeni@uli.it>
* Fix typos.ben2000-11-181-3/+3
| | | | | PR: 22922 Submitted by: Jimmy Olgeni <olgeni@uli.it>
* Fix another typo.ben2000-11-181-1/+1
| | | | | PR: 22924 Submitted by: Jimmy Olgeni <olgeni@uli.it>
* While in the SYNOPSIS section, Nm macro always required anru2000-11-181-6/+4
| | | | | | | | | | | | | | | | argument to setup indentation for the rest of the synopsis line and to automatically emit a line break for a non-first synopsis line. It does not require it anymore. The following now works as expected: .Sh NAME .Nm utility .Sh SYNOPSIS .Nm .Cm start .Nm .Cm stop
* mdoc(7) police: fix errors uncovered by the new feature of the Nm macro.ru2000-11-182-3/+2
|
* Further use of M_ZERO.dwmalone2000-11-185-13/+7
| | | | | | Submitted by: josh@zipperup.org Submitted by: Robert Drehmel <robd@gmx.net> Approved by: msmith
* Add the use of M_ZERO to netgraph.dwmalone2000-11-1823-66/+36
| | | | | | | Submitted by: josh@zipperup.org Submitted by: Robert Drehmel <robd@gmx.net> Submitted by: archie Approved by: archie
* mdoc(7) police: now that Nm macro accepts punctuation charactersru2000-11-181-1/+1
| | | | | | as argument, unbreak this page by escaping the `[' character. Noticed by: sheldonh
* Fix a braino ..sos2000-11-181-1/+1
|
* do not blindly assume 8khz is supported on open(). try for 8khz but respectcg2000-11-181-3/+6
| | | | | | minspeed/maxspeed specified by the hw driver. Submitted by: Andrew Gordon <arg@arg1.demon.co.uk>
* Make the order of values prompted for with the "-i" option match print_part()obrien2000-11-182-4/+4
|
* Use vop_defaultop() instead of ntfs_bypass().bp2000-11-182-4/+12
| | | | PR: kern/22756
* Release sched_lock very briefly to give interrupts a chance to fire if wejhb2000-11-181-0/+2
| | | | | | are in softclock() for a long time. The old code already did an splx()/slphigh() pair here, I just missed adding in the equivalent mutex operations on sched_lock earlier.
* Don't attempt to cluster write buffers where the VMIO flag isn't set.tegge2000-11-171-1/+2
|
* Make sure we don't cross stripe boundaries when reviving striped plexes.des2000-11-171-4/+6
| | | | | | | | | This makes crash recovery work for stripe sizes that are not multiples of DEFAULT_REVIVE_BLOCKSIZE (currently 64 kB). While we're here, fix a few cosmetic nits. Reviewed by: grog Sponsored by: Enitel ASA (http://www.enitel.no/)
* "minute(s) period(s)" --> "minute(s)"mph2000-11-171-6/+6
|
* Fix the `make -jX' (X>1) breakage.obrien2000-11-175-45/+55
| | | | | Based on patch submitted by: Makoto MATSUSHITA <matusita@jp.freebsd.org> Reviewed by: marcel, bde
* - Split the run queue and sleep queue linkage, so that a processjake2000-11-1712-18/+22
| | | | | | | | | may block on a mutex while on the sleep queue without corrupting it. - Move dropping of Giant to after the acquire of sched_lock. Tested by: John Hay <jhay@icomtek.csir.co.za> jhb
* Reference security advisories FreeBSD-SA-00:{68,69,70}.bmah2000-11-172-0/+22
|
* - Change extra sanity checks in cpu_switch() to be conditional on INVARIANTSjhb2000-11-173-93/+9
| | | | | | | instead of DIAGNOSTIC. - Remove the p_wchan check as it no longer applies since a process may be switched out during CURSIG() within msleep() or mawait(). - Remove an extra sanity check only needed during the early SMPng work.
* mdoc(7) police: Nm is a must in the NAME section.ru2000-11-171-4/+5
|
* Return to the stock version of this file as local FreeBSD modsru2000-11-171-8/+3
| | | | | to it have been made in mdoc(7) format, but now it is again in man(7) format, and the vendor apparently incorporated our mods.
* mdoc(7) police: eliminate warnings.ru2000-11-1711-12/+14
|
* Fixed Nm macro so that it accepts punctuation characters as argument.ru2000-11-171-15/+4
| | | | | | | | | | For example, neither of the following worked before: .Nm , name, .Nm . name. .Nm : name: .Dq Nm ``name'' .Op Nm . [name].
* mdoc(7) police: use certified section headers wherever possible.ru2000-11-17106-119/+121
|
* Fix typos.ben2000-11-172-6/+6
| | | | | PR: 22901, 22902 Submitted by: Jimmy Olgeni <olgeni@uli.it>
* The default kernel filename is "kernel" again, not "kernel.ko".msmith2000-11-171-1/+1
| | | | Submitted by: mckusick
* Add the 'gdt' and 'gdtd' devices for the ICP Vortex RAID controller family.msmith2000-11-171-0/+2
|
* Go back to populating data_len in struct ngpppoe_init_data.brian2000-11-162-4/+6
|
* Go back to using data_len in struct ngpppoe_init_data after discussionsbrian2000-11-165-89/+146
| | | | | | | | | | | with Julian and Archie. Implement a new ``sizedstring'' parse type for dealing with field pairs consisting of a uint16_t followed by a data field of that size, and use this to deal with the data_len and data fields. Written by: Archie with some input by me Agreed in principle by: julian
* Fix a bug where a statically initialized condition variabledeischen2000-11-163-6/+6
| | | | | | | | | | was not getting properly initialized in pthread_cond_signal() and pthread_cond_broadcast(). Reportedly, this can cause an application to die. MFC candidate Submitted by: ade
* Be a bit more precise about what ``nat deny_incoming yes'' does.brian2000-11-162-10/+36
|
* The recent changes to msleep() and mawait() resulted in timeout() andjhb2000-11-161-1/+16
| | | | | | | | untimeout() not being called with Giant in those functions. For now, use the sched_lock to protect the callout wheel in softclock() and in the various timeout and callout functions. Noticed by: tegge
* Fix a couple of typosmarko2000-11-161-2/+2
| | | | Approved by: Warner
* When checking the device code in the probe routine, leave the chip inwpaul2000-11-161-3/+22
| | | | | | | | | | | | | | | 16-bit mode. Technically, pcn_probe() is destructive because once the chip goes into 32-bit mode, the only way to get it out again is a hardware reset. And once the device is in 32-bit mode, the lnc driver won't be able to talk to it. So if pcn_probe() is called before the lnc probe routine, and pcn_probe() rejects the chip as one it doesn't support, the lnc driver will be SOL. I don't like this. I think it's a design flaw that you can't switch the chip out of 32-bit mode once it's selected. The only 'right' solution is for the pcn driver to support all of the PCI devices in 32-bit mode, however I don't have samples of all the PCnet series cards for testing.
* Delete 4 lines of misleading/incorrect comments.deischen2000-11-163-12/+0
|
* Make the question mark (`?') a valid punctuation character.ru2000-11-163-2/+4
| | | | | | | | | | | | | | One can now, for example, write: .Sh EXAMPLES Have you read the .Xr mdoc 7 ? .Pp Do you like .Fx ? The mdoc.samples(7) page has been automatically updated to record this change.
* Add kernel option NETGRAPH_ONE2MANY.archie2000-11-164-0/+4
|
* Fix problem with extra space after an Xr, because aZ was being called twice.ru2000-11-161-7/+5
| | | | | | Fix the no-space-after-a-period-in-macro problem. Obtained from: NetBSD
* vx is now optional rather than taking a count. Reflect that in theimp2000-11-161-2/+2
| | | | | | files. Also a minor white space nit. Submitted by: bde
* mdoc(7)ify.ru2000-11-161-114/+181
|
* Describe -deny_incoming better, highlight some keywords,ru2000-11-161-22/+57
| | | | add myself to the AUTHORS section.
* fix typo; compliment -> complement.ben2000-11-161-2/+2
| | | | | PR: 22840 Submitted by: Jimmy Olgeni <olgeni@uli.it>
* remove trailing fullstop from SEE ALSO.ben2000-11-161-1/+1
| | | | Reviewed by: grog
OpenPOWER on IntegriCloud