Commit Graph

122840 Commits

Author SHA1 Message Date
kleink 1b16e3f0a3 ; may be a comment character in assembly, use \n as a separator instead. 2004-01-04 13:27:53 +00:00
lukem 23bd6e4a23 support MKCVS=no 2004-01-04 13:20:49 +00:00
martin d30d9b04d0 Attach message formating nit, adapt to recent pcic (et al) changes. 2004-01-04 12:41:46 +00:00
jdolecek c3bb9cd5a4 Process and lwp exit path always executes lwp_exit2() now and cpu_exit()
is empty besides calling switch_exit(). So, rename switch_exit() to
cpu_exit() and modify the routine to call lwp_exit2() direct.
This saves couple cycles on the exit path.
2004-01-04 11:44:52 +00:00
jdolecek 089abdad44 Rearrange process exit path to avoid need to free resources from different
process context ('reaper').

From within the exiting process context:
* deactivate pmap and free vmspace while we can still block
* introduce MD cpu_lwp_free() - this cleans all MD-specific context (such
  as FPU state), and is the last potentially blocking operation;
  all of cpu_wait(), and most of cpu_exit(), is now folded into cpu_lwp_free()
* process is now immediatelly marked as zombie and made available for pickup
  by parent; the remaining last lwp continues the exit as fully detached
* MI (rather than MD) code bumps uvmexp.swtch, cpu_exit() is now same
  for both 'process' and 'lwp' exit

uvm_lwp_exit() is modified to never block; the u-area memory is now
always just linked to the list of available u-areas. Introduce (blocking)
uvm_uarea_drain(), which is called to release the excessive u-area memory;
this is called by parent within wait4(), or by pagedaemon on memory shortage.
uvm_uarea_free() is now private function within uvm_glue.c.

MD process/lwp exit code now always calls lwp_exit2() immediatelly after
switching away from the exiting lwp.

g/c now unneeded routines and variables, including the reaper kernel thread
2004-01-04 11:33:29 +00:00
augustss 3c5939dc02 Cosmetic changes. 2004-01-04 11:11:56 +00:00
jdolecek 0d3df21f35 use system() to spawn editor, so that it's possible to use EDITOR
setting which includes options; this reinstates functionality lost in rev 1.18
2004-01-04 09:09:56 +00:00
jdolecek 482ad5b141 make uhid_graphire*_report_descr[] const 2004-01-04 08:35:52 +00:00
dbj e3b3654ebb attempt to make these compile again after recent wdc changes. 2004-01-04 07:08:13 +00:00
oster 87e6ffb752 As noted by Thierry Deval in a posting to misc/at/openbsd.org,
rf_DecrAccessesCountState wasn't in the correct spot in
RF_AccessState_e.  Following up on that has resulted in one other
correction.  Changing orderings of these states is tricky, and
shouldn't be attempted without some thorough analysis.  For the
changes committed, the following analysis is offerred:

1) RAIDframe uses a little state machine to take care of building,
executing, and processing the DAGs used to direct IO.

2) The rf_DecrAccessesCountState state is handled by the function
rf_State_DecrAccessCount().  The purpose of this state is to
decrement the number of "accesses-in-flight".

3) rf_Cleanup_State is handled by rf_State_Cleanup().  Its job is to
do general cleanup of DAG arrays and any stripe locks.

4) DefaultStates[] in rf_layout.c indicates that the right spot
for rf_DecrAccessesCountState is just before rf_Cleanup_State.
Analysis of code for both states indicates that the order doesn't
matter too much, although rf_State_DecrAccessCount() should probably
take place *after* rf_State_Cleanup() to be more correct.

5) Comments in rf_State_ProcessDAG() indicates that the next state
should be rf_Cleanup_State.  However: it attempts to get there by using

 desc->state++;

which actually takes it to just rf_DecrAccessesCountState! This turned
out to be OK before, since rf_Cleanup_State would follow right after,
and all would be taken careof (albeit in arguably the "less correct"
order).

6) With the current ordering, if we head directly to rf_Cleanup_State
(as we do, for example, if multiple components fail in a RAID 5 set),
then we'll actually miss going trough rf_DecrAccessesCountState), and
could end up never being able to reach quiescence!  Perhaps not too
big of a deal, given that the RAID set is pretty much toast by that
point at which such a drastic state change happens, but might as well
have this correct.

The changes made are:
1) Since having rf_State_DecrAccessCount() come after
rf_State_Cleanup() is just fine, change rf_layout.c to reflect that
rf_DecrAccessesCountState comes after rf_Cleanup_State (i.e. they swap
positions in the state list).  This means that going to
rf_Cleanup_State after bailing on a failed DAG access will do all the
right things -- the state will get cleaned up, and then the access
counts will get decremented properly.  The comment in
rf_State_ProcessDAG() is now actually correct -- the next state *will*
be rf_Cleanup_State.

2) Move rf_DecrAccessesCountState in RF_AccessState_e to just after
rf_CleanupState.  This puts RF_AccessState_e in sync with
DefaultStates[].  Fortunately, these states are rarely referred to by
name, and so this change ends up being mostly cosmetic -- it really
only fixes cleanup behaviour for the recent "Failed to create a DAG"
changes.
2004-01-04 06:37:16 +00:00
dsainty 232d108953 Kill the flow control interface. Bluetooth devices are not equipped to deal
with flow control being applied.  It is simpler and no more problematic to
accept the data and drop it if we hit a resource limit than to expect the
Bluetooth device to do anything about it (which it won't).
2004-01-04 05:47:43 +00:00
dsainty ea1feca1de Don't (ab)use the device driver flow control interface to prevent incoming
data.  We should be prepared to buffer that data here (though we currently
don't do that either).
2004-01-04 05:39:35 +00:00
jschauma 420b2ac8ff Remove unused code left over from temporary printescaped functionality.
Noted by Jeff Ito in PR bin/23967.
2004-01-04 03:34:00 +00:00
jschauma 4f80cb6337 Remove unused code left over from temporary printescaped functionality.
Noted by Jeff Ito in PR bin/23966.
2004-01-04 03:31:28 +00:00
wiz 5b677ebe3a Bump Dd for previous. 2004-01-04 02:24:32 +00:00
wiz 86a0205ded Point people to re_format(7) instead of regex(3) for
RE description; from Greg A. Woods.
2004-01-04 02:24:07 +00:00
jsm 34efd254f6 Add two acronyms suggested by Pavel Machek <pavel@ucw.cz>. 2004-01-04 02:16:39 +00:00
dsainty 68c4826bcf Correct buffer selection in uhidev_set_report for non-zero report IDs (rare!)
Spotted by Dave Huang, noted in tech-kern.
2004-01-04 02:13:11 +00:00
hubertf d7b7063649 In the "quick depends pre-scan", first print all bad matching depends,
then exit (instead printing one conflicting pkg/version on each run).
2004-01-04 01:47:35 +00:00
augustss 688b523809 Move a .Ed to the right place. 2004-01-04 01:42:06 +00:00
augustss 956a88bd1e Support Graphire 4x5. From Dave Huang in kern/23965. 2004-01-04 01:29:11 +00:00
augustss 0daa8ba196 Regen. 2004-01-04 01:27:38 +00:00
augustss 2da03fdec4 Add Wacom Graphire3 4x5. From Dave Huang. 2004-01-04 01:26:23 +00:00
lukem 2becb6af9a Support MKCRYPTO=no 2004-01-04 00:54:18 +00:00
lukem 9bd1a531bc only build do-lib-libdes if ${MKCRYPTO}!=no 2004-01-04 00:27:15 +00:00
lukem c926d8d22d support MKCRYPTO=no (des.h is not present) 2004-01-04 00:25:52 +00:00
dbj 1c29b89d88 add stddef.h include and remove shadowed local var. 2004-01-04 00:21:29 +00:00
wiz 71839f7f61 Standardize flags display in usage. 2004-01-04 00:13:00 +00:00
wiz d78a474461 Bump date for new -F. Standardise flags display in SYNOPSIS. 2004-01-04 00:12:04 +00:00
lukem f64aa6de5c Only build ntp-keygen if ${MKCRYPTO}!="no".
(There appears to be partial support in the ntp-keygen sources
for compiling without -DOPENSSL, but it's not functional).
2004-01-04 00:06:34 +00:00
lukem 5e982c6b1f Only define OPENSSL and use -lcrypto if ${MKCRYPTO}!="no" 2004-01-04 00:04:52 +00:00
thorpej 197f2f50da More structure member namespace cleanup: thread -> ch_thread 2004-01-03 23:59:58 +00:00
martin f6ee845eac Fix a cast for little endian archs 2004-01-03 23:50:47 +00:00
lukem cf4d2c7308 Don't build cgdconfig when MKCRYPTO==no.
Fixes [bin/18552].
2004-01-03 23:34:29 +00:00
tron be00b34e3a Include "sys/param.h" to fix build problems in applications which include
this header file.
2004-01-03 23:29:42 +00:00
martin a2c6783de5 When writing/reading longs use explicit 32bit temporary values (this is
what "long" means in xdr context).
Fixes PR lib/23960.
2004-01-03 23:01:41 +00:00
thorpej a963286f8d More wdc_channel structure member namespace cleanup:
- channel -> ch_channel
- wdc -> ch_wdc
2004-01-03 22:56:52 +00:00
tron 784a553ad1 Remove extra tokens at end of #undef directive. 2004-01-03 22:34:38 +00:00
wiz 7aab07409d Bump date for previous. 2004-01-03 21:05:21 +00:00
jdolecek 6ea538748e constify a bit 2004-01-03 20:10:01 +00:00
dbj efbd5db673 add -F option, similar to fsck/newfs/dumpfs
correctly handle negative results from fsck's setup routine
handle uid and gid in FS_42INODEFMT inodes
2004-01-03 19:57:42 +00:00
jdolecek 1d86b1f39f fix some comments, use NULL instead of 0 for pointer comparison 2004-01-03 19:43:55 +00:00
dbj 94c4dbf954 restore traditional output for older filesystems
add byte swapping support for inode printing
2004-01-03 19:32:58 +00:00
thorpej 3fb652250b More comment/whitespace tidy-up. 2004-01-03 19:31:09 +00:00
dbj d7fdf500a8 reintroduce compatbility defines for
fs_headswitch, fs_trkseek, fs_csmask, fs_csshift
fs_postbl, fs_rotbl, cg_blktot, cg_blks, cbtocylno, cbtorpos
2004-01-03 19:18:17 +00:00
augustss 063a980b4e Fix typo about which mixer device is used. 2004-01-03 18:43:02 +00:00
dbj 1c65fb7cac fix logic for handling symlinks in inodes when isappleufs 2004-01-03 17:56:21 +00:00
dbj 1f5f1d50af when doing both -c 2 and -B, swap the blocks listed in the inode
of symlinks, since the swapping happens before the symlinks
are moved into the inode.
2004-01-03 17:27:35 +00:00
chris 300943f949 Tidy up the code, add a copyright block for myself. Sprinkle a few
comments, de-_P things.
2004-01-03 16:37:41 +00:00
lukem 3e894ed427 Support MKPROFILE=no 2004-01-03 15:43:50 +00:00