Peter Wemm [Sun, 19 Apr 1998 03:26:05 +0000 (03:26 +0000)]
Back out previous commit, obrien doesn't seem to be watching. The problem
is that the previous commit spammed a hacked 2.2-stable onto -current,
deleting the DMA support etc. (I guess that's one way of minimizing diffs
between -current and -stable.. :-] )
Peter Wemm [Sat, 18 Apr 1998 06:26:16 +0000 (06:26 +0000)]
In vfs_msync(), test to see if the vnode being examined is "interesting"
(ie: it has a vm_object attached and is marked as OBJ_MIGHTBEDIRTY) before
attempting to lock it. This should reduce the cpu hit that is incurred
when doing a sync(2) and when the syncer process is doing the 30-second
writeback of dirty mmap() data to disk. Skip this speedup if we are
doing an unmount() to be sure to get everything - we can afford to
occasionally miss a msync while the system is running, but not at unmount.
I'm not sure about the VXLOCK and MNT_WAIT case, it seems a bit odd to skip
doing a page_clean at unmount time just because a vnode is VXLOCKed, but
that's what was being done before...
Reviewed by: Amancio
Submitted by: Roger Hardiman <roger@cs.strath.ac.uk>
Roger Hardiman <roger@cs.strath.ac.uk> :
Revised autodetection code to correctly handle both
old and new VideoLogic Captivator PCI cards.
Added tsleep of 2 seconds to initialistion code for PAL users.
Corrected clock selection code on format change.
Add `myname.my.domain' as another alias for `localhost'. We set this
as the initial generic hostname if the user didn't setup any NIC, but
failure to resolve this name results in XF86Setup not being able to
run.
Peter Wemm [Thu, 16 Apr 1998 12:28:31 +0000 (12:28 +0000)]
Attempt to fix BOUNCE_BUFFERS. I cannot test these drivers, but they
seem to compile OK with the bounce buffer mods. I have only visually
checked for missing bounce buffer support, I could have missed some.
Peter Wemm [Thu, 16 Apr 1998 11:15:23 +0000 (11:15 +0000)]
Attempt to get bounce_buffers working again for per-process kernel stack
data targets. At least st0 works for me again....
Also, scsi_scsi_cmd() looks like it's been exiting without a biodone() on
an attached buffer in a number of error cases, leading to locked buffers.
Peter Wemm [Thu, 16 Apr 1998 03:31:26 +0000 (03:31 +0000)]
When the softdep conversion took place, the periodic vfs_msync() from
update got lost. This is responsible for ensuring that dirty mmap() pages
get periodically written to disk. Without it, long time mmap's might not
have their dirty pages written out at all of the system crashes or isn't
cleanly shut down. This could be nasty if you've got a long-running
writing via mmap(), dirty pages used to get written to disk within 30
seconds or so.
In pre-devfs days, /dev/psm0 had always been a non-blocking
device. But with devfs, currently, /dev/psm0 is the blocking device
and /dev/npsm0 is the non-blocking one.
DEVFS must stay consistent with the older behaviour.
In light of the fact that several widespread sendmail alternatives exists
is reason enough to make the compilation & installation of sendmail an
make.conf option. I know that you hate negative options Bruce.
PR: 6284
Reviewed by: phk
Submitted by: Adrian Colley <aecolley@world.std.com>
Bruce Evans [Wed, 15 Apr 1998 12:27:31 +0000 (12:27 +0000)]
Fixed bitrot in the non-softdep case of ufs_dirremove():
- restored async mount support. The first entry in a block is still
always written synchronously, although it probably shouldn't be in
the async case.
- restored use of BWRITE() instead of bowrite() for the DOWHITEOUT
case, although bowrite() is probably better.
Broken by: merge of softdep changes (rev.1.22).
Found by: lmbench2 delete-file benchmarks.
Bruce Evans [Wed, 15 Apr 1998 11:10:28 +0000 (11:10 +0000)]
Fixed breakage of fork accounting in previous commit. A fork benchmark
reported about 15 times as much sys time as real time. getmicroruntime()
is confusing name.
Peter Wemm [Tue, 14 Apr 1998 07:39:57 +0000 (07:39 +0000)]
Bring in an old faithful tool I've been using for just over 4 years now
(originally on a different OS without mkstemp()), albeit somewhat
bashed and hacked into something that doesn't look too much like
the original any more. It should be upwardly compatable with
OpenBSD's mktemp(1) but does a couple of extra things.
I've taken OpenBSD's mktemp.1 man page and adapted it to suit.
Peter Wemm [Tue, 14 Apr 1998 07:25:05 +0000 (07:25 +0000)]
Fix a nasty flaw as a result of using the arc4random() pre-seeding of
leading XXX's. It could wrap an uppercase character through chars
like: [ \ ] ^ _ ` in between Z and a. The backslash and back tick
might be particularly nasty in a shell script context. Also, since
we've been using upper-case generated values for a while now, go with
the flow and use them in the pathname search rotation.
retain additional message in check_relay ruleset,
the message is written into the maillog.
this is useful to a site's postmaster.
Reviewed by: jmb
Submitted by: Ruslan Ermilov ru@ucb.crimea.ua
Wrong header length used for certain reassembled IP packets.
PR: 6177
Reviewed by: phk, wollman
Submitted by: Eric Sprinkle <eric@ennovatenetworks.com>
Fix dependent-package loading when pkg_adding with an FTP URL. I broke
this when I changed the playpen code to disallow recursion. I know
this fixes a PR someplace but I can't seem to find it with the GNATs
search tool.
setsockopt() transports user option data in an mbuf. if the user
data is greater than MLEN, setsockopt is unable to pass it onto
the protocol handler. Allocate a cluster in such case.
John Dyson [Sat, 11 Apr 1998 20:09:39 +0000 (20:09 +0000)]
Minor typo in the wd driver. The manifestation of this bug
is a tremendous perf decrease due to the disabling of advanced
features such as DMA, Ultra DMA, and 32bit mode. This patch
might have been reported by someone else (I seem to remember
it.)
When pmap_pinit0() allocates a page for proc0's page directory,
kernal page table may need to be extended. But while growing the
kernel page table (pmap_growkernel()), newly allocated kernel page
table pages are entered into every process' page directory. For
proc0, the page directory is not allocated yet, and results in a
page fault. Eventually, the machine panics with "lockmgr: not
holding exclusive lock".