non [Wed, 25 Feb 2004 00:13:43 +0000 (00:13 +0000)]
o Use `I-O DATA' instead of `IO DATA' as the vendor uses the former
on its own site (http://www.iodata.jp/).
o Add a missing cross reference to cardbus(4).
phk [Tue, 24 Feb 2004 22:51:42 +0000 (22:51 +0000)]
Add DDB_NUMSYM option which in addition to the symbolic representation
also prints the actual numerical value of the symbol in question.
Users of addr2line(1) will be less proficient in hex arithmetic as a
consequence.
This amongst other things means that traceback lines change from:
siointr1(c4016800,c073bda0,0,c06b699c,69f) at siointr1+0xc5
to
siointr1(c4016800,c073bda0,0,c06b699c,69f) at 0xc062b0bd = siointr1+0xc5
jhb [Tue, 24 Feb 2004 21:36:39 +0000 (21:36 +0000)]
- Clarify ambiguous statement about not being able to both slock and xlock
a single lock at the same time.
- Avoid using "own" to refer to holding either a shared or exclusive lock
as it is only really correct for exclusive locks.
- Reword the sentence about sleep-ability to read easier.
andre [Tue, 24 Feb 2004 15:27:41 +0000 (15:27 +0000)]
Convert the tcp segment reassembly queue to UMA and limit the maximum
amount of segments it will hold.
The following tuneables and sysctls control the behaviour of the tcp
segment reassembly queue:
net.inet.tcp.reass.maxsegments (loader tuneable)
specifies the maximum number of segments all tcp reassemly queues can
hold (defaults to 1/16 of nmbclusters).
net.inet.tcp.reass.maxqlen
specifies the maximum number of segments any individual tcp session queue
can hold (defaults to 48).
net.inet.tcp.reass.cursegments (readonly)
counts the number of segments currently in all reassembly queues.
net.inet.tcp.reass.overflows (readonly)
counts how often either the global or local queue limit has been reached.
mckusick [Mon, 23 Feb 2004 06:56:31 +0000 (06:56 +0000)]
In the function clear_inodedeps(), a FREE_LOCK() should be called
AFTER the call to vn_start_write(), not before it. Otherwise, it is
possible to unlock it multiple times if the vn_start_write() fails.
mckusick [Mon, 23 Feb 2004 06:40:17 +0000 (06:40 +0000)]
Change UFS from using vop_stdlock to using its own ufs_lock.
In ufs_lock, check for attempts to acquire shared locks on
snapshot files and change them to be exclusive locks. This
change eliminates deadlocks and machine lockups reported in
-current since most read requests started using shared lock
requests.
Submitted by: Jun Kuriyama <kuriyama@imgsrc.co.jp>
alc [Mon, 23 Feb 2004 03:15:13 +0000 (03:15 +0000)]
- Substitute bdone() and bwait() from vfs_bio.c for
swap_pager_putpages()'s buffer completion code. Note: the only
difference between swp_pager_sync_iodone() and bdone(), aside from
the locking in the latter, was the unnecessary clearing of B_ASYNC.
- Remove an unnecessary pmap_page_protect() from
swp_pager_async_iodone().
tjr [Mon, 23 Feb 2004 01:40:46 +0000 (01:40 +0000)]
cookies is an array of u_long, not u_int, so MALLOC() it accordingly.
Allocating it with the wrong size could have caused corruption on
64-bit architectures.
green [Sun, 22 Feb 2004 23:00:14 +0000 (23:00 +0000)]
Correct some major SMP-harmful problems in the pipe implementation. First
of all, PIPE_EOF is not checked pervasively after everything that can drop
the pipe mutex and msleep(), so fix. Additionally, though it might not
harm anything, pipelock() and pipeunlock() are not used consistently.
Third, the kqueue support functions do not use the pipe mutex correctly.
Last, but absolutely not least, is a race: if pipe_busy is not set on
the closing side of the pipe, the other side that is trying to write to
that will crash BECAUSE PIPE_EOF IS NOT SET! Unconditionally set
PIPE_EOF, and get rid of all the lockups/crashes I have seen trying
to build ports.
mux [Sun, 22 Feb 2004 16:27:28 +0000 (16:27 +0000)]
Unbreak after the change to use vm_paddr_t. Since vm_paddr_t is
an integer type and the a cast to (void *) was added in the
definition of NULL for the kernel, we need to use 0 here instead.
cperciva [Sun, 22 Feb 2004 10:03:24 +0000 (10:03 +0000)]
Report login attempts to syslog. Due to the statically-linked nature of
nologin(8), this causes a considerable (100K) increase in the binary size,
so I've added a NO_LOGIN_LOG option which disables this.
While I'm here, s/sizeof(MESSAGE)/sizeof(MESSAGE) - 1/, in order to
avoid writing the string-terminating zero byte.
No complaints from: -current
Approved by: rwatson (mentor)
marcel [Sun, 22 Feb 2004 02:10:48 +0000 (02:10 +0000)]
Do not pre-map the I/O port space. On the Intel Tiger 4 this conflicts
with a memory mapped I/O range that's immediately before it and is
not 256MB aligned. As a result, when an address is accessed in the
memory mapped range and a direct mapping is added for it, it overlaps
with the pre-mapped I/O port space and causes a machine check.
rwatson [Sun, 22 Feb 2004 00:33:12 +0000 (00:33 +0000)]
Update my personal copyrights and NETA copyrights in the kernel
to use the "year1-year3" format, as opposed to "year1, year2, year3".
This seems to make lawyers more happy, but also prevents the
lines from getting excessively long as the years start to add up.
alc [Sat, 21 Feb 2004 23:32:00 +0000 (23:32 +0000)]
Eliminate the second, unnecessary call to pmap_page_protect() near the end
of vm_pageout_flush(). Instead, assert that the page is still write
protected.