Commit Graph

77359 Commits

Author SHA1 Message Date
jeff
b441c83700 - Use 'options DEBUG_VFS_LOCKS' instead of the DEBUG_ALL_VFS_LOCKS
environment variable to enable the lock verifiction code.
2002-07-07 06:39:36 +00:00
jeff
cca3a0ef3d - Don't hold the vn lock while calling VOP_CLOSE in vclean(). 2002-07-07 06:38:22 +00:00
alc
8c632c03ee o Traverse the object's memq rather than repeatedly calling vm_page_lookup()
in vm_object_split().
2002-07-07 06:01:25 +00:00
jeff
8bf1a039cb - BUF_REFCNT() seems to be the preferred method for verifying a locked buf.
Tell vop_strategy_pre() to use this instead.
 - Ignore B_CLUSTER bufs.  Their components are locked but they don't really
   exist so they don't have to be.  This isn't ideal but it is safe.
2002-07-07 05:29:45 +00:00
jeff
5d7805963e Add two asserts that prove & document getblk and geteblk's behavior of
returning locked bufs.
2002-07-07 05:27:08 +00:00
dougb
9b623ad295 Latest improvements from Mike Makonnen. Better kerberos and apm handling. 2002-07-07 04:16:53 +00:00
mp
f5613e3e9d Synchronize path with dot.cshrc by adding /usr/local/sbin.
PR:             26720
Submitted by:   Rob Simmons <rsimmons@wumpus.wlcg.com>
MFC after:	1 week
2002-07-07 00:00:54 +00:00
jeff
8d0c32ea13 - Hold a lock on the vnode acquired from the file table across the call to
vm_mmap() as well as the GETATTR etc.
 - If the handle is a vnode in vm_mmap() assert that it is locked.
 - Wiggle Giant around a little to account for the extra vnode operation.
2002-07-06 22:14:38 +00:00
jeff
f1b0400267 Fix a mistake in my last commit. Don't grab an extra reference to the object
in bp->b_object.
2002-07-06 21:27:20 +00:00
chris
6c50bbc20b sec-doc.7 has been repo-copied to sdoc.7 to be consistent with sprog.7.
Sponsored by:	DARPA, NAI Labs
2002-07-06 20:30:29 +00:00
jdp
e26f3975bd Remove the nanosleep calls from the spin loops in the locking code.
They provided little benefit (if any) and they caused some problems
in OpenOffice, at least in post-KSE -current and perhaps in other
environments too.  The nanosleep calls prevented the profiling timer
from advancing during the spinloops, thereby preventing the thread
scheduler from ever pre-empting the spinning thread.  Alexander
Kabaev diagnosed this problem, Martin Blapp helped with testing,
and Matt Dillon provided some helpful suggestions.

This is a short-term fix for a larger problem.  The use of spinlocking
isn't guaranteed to work in all cases.  For example, if the spinning
thread has higher priority than all other threads, it may never be
pre-empted, and the thread holding the lock may never progress far
enough to release the lock.  On the other hand, spinlocking is the
only locking that can work with an arbitrary unknown threads package.

I have some ideas for a much better fix in the longer term.  It
would eliminate all locking inside the dynamic linker by making it
safe for symbol lookups and lazy binding to proceed in parallel
with a call to dlopen or dlclose.  This means that the only mutual
exclusion needed would be to prevent multiple simultaneous calls
to dlopen and/or dlclose.  That mutual exclusion could be put into
the native pthreads library.  Applications using foreign threads
packages would have to make their own arrangements to ensure that
they did not have multiple threads in dlopen and/or dlclose -- a
reasonable requirement in my opinion.

MFC after:	3 days
2002-07-06 20:25:56 +00:00
bmah
679c5f9407 New release note: kbdmap(1)/vidfont(1) C rewrite.
Changed release notes:  KSE (rewrite and status update), Binutils
2.12.1 (20020622 snapshot).

MFCs noted:  libpcap-0.7.1, tcpdump-3.7.1, OpenSSH through 3.4p1.

Also retroactively note some OpenSSH items as MFC-ed and historic.
I'm not sure when these were merged, but I'm pretty sure it was a long
time ago.
2002-07-06 19:42:39 +00:00
charnier
a82970a04e The .Nm utility. 2002-07-06 19:35:14 +00:00
charnier
d99e065d00 The .Nm utility. Add FreeBSD Id. 2002-07-06 19:34:37 +00:00
charnier
a2accd01f0 The .Nm utility 2002-07-06 19:34:18 +00:00
charnier
9639b20db6 The .Nm utility 2002-07-06 19:19:48 +00:00
charnier
26da445d07 The .Nm utility 2002-07-06 19:13:21 +00:00
alfred
81061e6edf Cleanup after my de-__P (remove leading whitespace before prototype args).
Add newlines after function return types in function declarations.

Approved by: wpaul (a long time ago)
2002-07-06 16:34:32 +00:00
alfred
7f64c6d41a Cleanup after my de-__P (remove leading whitespace before prototype args).
Add newlines after function return types in function declarations.

Approved by: wpaul (a long time ago)
2002-07-06 15:59:57 +00:00
ru
79e44cc282 Part 2/2 of the kerberos5/doc/ "make release" breakage fix:
Make sure the "krb5" does not have the /usr/share/info/dir,
or it will clobber the "base" version on install.
2002-07-06 15:00:07 +00:00
ru
9f14b1f29b Part 1/2 of kerberos5/doc/ "make release" breakage fix:
Finish the fix of rev. 1.28 changes in rev. 1.47 (removed
gross dir file bootstrap rule again).
2002-07-06 14:58:20 +00:00
iwasaki
e6a8bab402 Fix wrong use of ACPI_NO_UNIT_LIMIT which is for as_maxunits, not as_units. 2002-07-06 13:59:59 +00:00
jeff
0dd7645264 Fixup uses of GETVOBJECT.
- Cache a pointer to the vnode's object in the buf.
 - Hold a reference to that object in addition to the vnode's reference just
   to be consistent.
 - Cleanup code that got the object indirectly through the vp and VOP calls.

This fixes at least one case where we were calling GETVOBJECT without a lock.
It also avoids an expensive layered call at the cost of another pointer in
struct buf.
2002-07-06 08:59:52 +00:00
julian
4037477f94 make this repect ps_sigintr if there is a pre-existing signal
or suspension request.

Submitted by:	David Xu
2002-07-06 08:47:24 +00:00
jeff
427f5f3892 Clean up execve locking:
- Grab the vnode object early in exec when we still have the vnode lock.
 - Cache the object in the image_params.
 - Make use of the cached object in imgact_*.c
2002-07-06 07:00:01 +00:00
jeff
68e0198612 - Disable original vop_strategy lock specification.
- Switch to the new vop_strategy_pre for lock validation.

VOP_STRATEGY requires only that the buf is locked UNLESS the block numbers need
to be translated.  There may be other reasons, but as long as the underlying
layer uses a VOP to perform the operations they will be caught later.
2002-07-06 05:23:17 +00:00
jeff
908b0eb9a7 - Add vop_strategy_pre to validate VOP_STRATEGY locking.
- Disable original vop_strategy lock specification.
 - Switch to the new vop_strategy_pre for lock validation.

VOP_STRATEGY requires only that the buf is locked UNLESS the block numbers need
to be translated.  There may be other reasons, but as long as the underlying
layer uses a VOP to perform the operations they will be caught later.
2002-07-06 05:21:12 +00:00
jeff
6060f5331d Use the new #! directive for vop_rename. Leave the old lock specification
intact but disabled.
2002-07-06 04:41:27 +00:00
jeff
3bce786a77 Add "vop_rename_pre" to do pre rename lock verification. This is enabled only
with DEBUG_VFS_LOCKS.
2002-07-06 04:39:48 +00:00
jeff
e46b098b80 Add a new configuration directive that inserts calls to debugging functions
in the VOP inlines.  This is intended to replace the simple locking
specifications for calls that have more complicated behavior such as rename and
lookup.

The syntax of the new entries is:
#! name	pre/post	function

If the function is marked 'pre' it is executed prior to calling the VOP and
takes a pointer to a struct vop_{name}_args as it's only parameter.

If the function is marked 'post' it is executed after the VOP call and takes
a pointer to a struct vop_{name}_args as it's first parameter and the integer
return value from the vop as the second paramter.
2002-07-06 03:46:36 +00:00
obrien
91ba571baa Make space for compilations. 2002-07-06 02:49:07 +00:00
julian
7e464b4d34 Fix at least one of the things wrong with signals
^Z should work a lot better now.

Submitted by:	peter@freebsd.org
2002-07-06 02:45:11 +00:00
gallatin
d7244e2c6d Remove the advertising clause from the Duke BSD copyright on the
zero-copy files

Requested by: rwatson
Approved by: Jeff Chase (my old boss at Duke)
2002-07-06 02:44:15 +00:00
obrien
9fcab75d96 We don't need to hit the user over the head so strong now that we've
fixed all the known warnings suffiently to not require NO_WERROR.

Ok'ed by:	peter
2002-07-06 01:07:48 +00:00
gallatin
a1719914d4 Remove bogus vm_page_wakeup() in vm_page_cowfault() that will cause panics
in the zero-copy send path if a process attempts to write to a page
which is still in flight.

reviewed by: ken
2002-07-05 23:33:27 +00:00
luigi
95e13a442b Implement the last 2-3 missing instructions for ipfw,
now it should support all the instructions of the old ipfw.

Fix some bugs in the user interface, /sbin/ipfw.

Please check this code against your rulesets, so i can fix the
remaining bugs (if any, i think they will be mostly in /sbin/ipfw).

Once we have done a bit of testing, this code is ready to be MFC'ed,
together with a bunch of other changes (glue to ipfw, and also the
removal of some global variables) which have been in -current for
a couple of weeks now.

MFC after: 7 days
2002-07-05 22:43:06 +00:00
jeff
28043f7b73 Fix a lock order reversal in uma_zdestroy. The uma_mtx needs to be held across
calls to zone_drain().

Noticed by:	scottl
2002-07-05 21:39:52 +00:00
obrien
7543c167f6 Merge rev 1.2 (FreeBSD a.out configuration support) into the
Binutils 2.12_20020622 snap.
2002-07-05 20:44:29 +00:00
obrien
e24305e56a Use the stock 2.12.1 snapshot version of this. 2002-07-05 20:42:13 +00:00
obrien
19ac0b62f9 Use the stock version of this. 2002-07-05 20:37:36 +00:00
obrien
e23e2669ca Bring the binutils_2_12_20020622 snap version of this to the HEAD branch. 2002-07-05 20:36:17 +00:00
obrien
69e1a1e0d4 We use the stock version of this file as in rev 1.4. 2002-07-05 20:35:38 +00:00
obrien
a497fd590a We use the stock version of this file. 2002-07-05 20:34:21 +00:00
obrien
606f47d9e0 Merge rev 1.6 (ELF_DYNAMIC_INTERPRETER) into Binutils 2.12_20020622 snap. 2002-07-05 20:32:42 +00:00
obrien
07fd3c7d79 Merge our ELF branding into Binutils 2.12_20020622 snapshot.
(note that this will be the last Binutils update to offer our original
method of ELF branding (WANT_OLD_BRANDELF_METHOD))
2002-07-05 20:30:48 +00:00
obrien
5bbed9e6b0 This commit was generated by cvs2svn to compensate for changes in r99461,
which included commits to RCS files with non-trunk default branches.
2002-07-05 20:16:34 +00:00
obrien
f3c54bd2c1 Import of Binutils from the FSF 2.12 branch (just post-.1 release).
These bits are taken from the FSF anoncvs repo on 22-June-2002 23:28:00 EDT.
2002-07-05 20:16:34 +00:00
imp
9568924023 dd %i as an alias for %d for greater compatibility with our *BSD bretheren
Obtained from: NetBSD
Reviewed by: jake, rwatson, bosko
2002-07-05 18:36:49 +00:00
mike
27f3da3573 Don't depend on pollution in <limits.h> for the definition of
<stdint.h> macros.
2002-07-05 15:58:27 +00:00
takawata
4174d50d4d Document BIOS bytecode overriding.
Pointed out by: Alex Zepeda <zipzippy@sonic.net>
Reviewed by:	David Wolfskill <david@catwhisker.org>
2002-07-05 15:36:03 +00:00