Bruce Evans [Fri, 13 Jun 1997 08:30:40 +0000 (08:30 +0000)]
Fixed livelock in getnewbuf().
It is possible for multiple process to sleep concurrently waiting
for a buffer. When the buffer shortage is a shortage of space but
not a shortage of buffer headers, the processes took turns creating
empty buffers and waking each other to advertise the brelse() of
the empties; progress was never made because tsleep() always found
another high-priority process to run and everything was done at
splbio(), so vfs_update never had a chance to flush delayed writes,
not to mention that i/o never had a chance to complete.
The problem seems to be rare in practice, but it can easily be
reproduced by misusing block devices, at least for sufficently slow
devices on machines with a sufficiently small buffer cache. E.g.,
`tar cvf /dev/fd0 /kernel' on an 8MB system with no disk in fd0
causes the problem quickly; the same command with a disk in fd0
causes the problem not quite as quickly; and people have reported
problems newfs'ing file systems on block devices.
Block devices only cause this problem indirectly. They are pessimized
for time and space, and the space pessimization causes the shortage
(it manifests as internal fragmentation in buffer_map).
xterm entry:
1) fix k1-k4 to match XF3.3
2) fix kb,kD to match keyboard
3) merge xterm-color in: default description must match best current practice
and color card is most common variant for X now. Add xterm-mono entry for
mono cards.
Stefan Eßer [Wed, 11 Jun 1997 22:36:02 +0000 (22:36 +0000)]
Add device IDs for new Symbios SCSI chips (53c875J,885,895,896), which
should work with no driver changes, though not all features are currently
used.
Remove code that was conditional on NEW_SCSICONF not being defined. This
was temporary code, that at a time got excluded correctly, until the new
scsiconf became the default, and NEW_SCSICONF was no longer specified.
Add support for quirks defined in scsiconf.c. For now only the HP3724/5
needs an entry, since that drive can't be used with tags.
Julian Elischer [Wed, 11 Jun 1997 20:15:50 +0000 (20:15 +0000)]
As the Tunnel device has no real inherrent MRU limit,
so don't enforce the MTU as an MRU. Allow bidirectional ppp MTU
negotiation, by checking against a differnt figure for MRU.
Make it large enough for ATM frames at least.
Brian Somers [Wed, 11 Jun 1997 03:57:51 +0000 (03:57 +0000)]
Sort out ppp over tcp:
o Allow "set var" with no args to blank var (don't req "").
o Zero VarTerm ASAP if not in interactive mode.
o Never print anything to stdout in -direct mode.
o Count redial when failing to open modem.
o Increase device size to 40 characters (for host:port).
o Remove missed "if (fd == 0) fd = 1;".
o Don't give up on incoming non-terminal connections.
Satoshi Asami [Tue, 10 Jun 1997 07:55:10 +0000 (07:55 +0000)]
Add new directories according to jmz's XFree86-3.3 upgrade. Change
ownership of directories to root:wheel. While I'm here, convert some
tabs to spaces.
Bruce Evans [Tue, 10 Jun 1997 01:40:32 +0000 (01:40 +0000)]
This should have been committed with the changes to boot.c yesterday.
- Added support for "dual" internal/serial consoles (-D flag). If -D is set,
then all i/o from the boot blocks is to and from both the internal console
and the serial console. -D has no effect on the kernel (-h decides the
kernel serial console as usual). -D should normally be set in /boot.config.
- Get help messages from /boot.help. You should copy boot.help from the
biosboot directory to the root directory on the boot drive when you
install new boot blocks.
- New, less invasive keyboard probe. Enable keyboard probe dynamically (-P
flag). Should probably never be used (use -h instead).
- Fixed/improved initialization from boot.config. It didn't interact correctly
with the NAMEBLOCK option, and the initialization of the drive/unit/partition
didn't stick when a non-default kernel name was entered.
- Don't reset or forget the default drive/unit/... or kernel name so often.
- Set the default kernel name to something unbootable after `?'.
- Display the defaults better.
- Removed PROBE_KEYBOARD_LOCK option (use -h instead).,
- Removed BOOT_FORCE_COMCONSOLE option (use device flag 0x20 instead).
- Removed -a (RB_HALT) flag. This flag is only used for reboots.
Submitted by: about 2/3 by yokota
Bruce Evans [Mon, 9 Jun 1997 05:10:56 +0000 (05:10 +0000)]
- Added support for "dual" internal/serial consoles (-D flag). If -D is set,
then all i/o from the boot blocks is to and from both the internal console
and the serial console. -D has no effect on the kernel (-h decides the
kernel serial console as usual). -D should normally be set in /boot.config.
- Get help messages from /boot.help. You should copy boot.help from the
biosboot directory to the root directory on the boot drive when you
install new boot blocks.
- New, less invasive keyboard probe. Enable keyboard probe dynamically (-P
flag). Should probably never be used (use -h instead).
- Fixed/improved initialization from boot.config. It didn't interact correctly
with the NAMEBLOCK option, and the initialization of the drive/unit/partition
didn't stick when a non-default kernel name was entered.
- Don't reset or forget the default drive/unit/... or kernel name so often.
- Set the default kernel name to something unbootable after `?'.
- Display the defaults better.
- Removed PROBE_KEYBOARD_LOCK option (use -h instead).,
- Removed BOOT_FORCE_COMCONSOLE option (use device flag 0x20 instead).
- Removed -a (RB_HALT) flag. This flag is only used for reboots.
Submitted by: about 2/3 by yokota
Brian Somers [Mon, 9 Jun 1997 03:27:43 +0000 (03:27 +0000)]
Overhaul ppp:
o Use syslog
o Remove references to stdout/stderr (incl perror())
o Introduce VarTerm - the interactive terminal or zero
o Allow "set timeout" to affect current session
o Change "set debug" to "set log"
o Allow "set log [+|-]flag"
o Make MSEXT and PASSWDAUTH stuff the default
o Move all #ifdef DEBUG stuff into the code - this
shouldn't be too much overhead. It's now controlled
with "set log +debug"
o Add "set log command, debug, tun, warn, error, alert"
o Remove cdefs.h, and assume an ansi compiler.
o Improve all diagnostic output
o Don't trap SIGSEGV
o SIGHUP now terminates again (log files are controlled
by syslog)
o Call CloseModem() when changing devices
o Fix parsing of third arg of "delete"
I think this fixes the "magic is same" problems that some
people have been experiencing.
The man page is being rewritten. It'll follow soon.
John Hay [Sun, 8 Jun 1997 14:03:23 +0000 (14:03 +0000)]
Add libmp and libz to the includes target. This makes "make includes -DCLOBBER;
make depend; make all" work. I think there should be a better than adding
each library directory here.
Bruce Evans [Sat, 7 Jun 1997 04:36:10 +0000 (04:36 +0000)]
Preserve %fs and %gs across context switches. This has a relatively low
cost since it is only done in cpu_switch(), not for every exception.
The extra state is kept in the pcb, and handled much like the npx state,
with similar deficiencies (the state is not preserved across signal
handlers, and error handling loses state).
Bill Paul [Fri, 6 Jun 1997 15:47:57 +0000 (15:47 +0000)]
Clobber unneeded prototypes; in particular, the redeclaration of malloc()
will break compilation if DESTDIR is not set. The update.c module is
actually from the Sun RPC distribution so this is really their bogon, but
I should have noticed it when I integrated the code into rpc.ypupdated.
Brian Somers [Fri, 6 Jun 1997 02:10:03 +0000 (02:10 +0000)]
Make install in include before making world.
Without this, if you try to build a 2.2 release
on -current, it falls on its face here because
/usr/include contains your "make install"d headers
where the /usr/include/* symlinks point to the
RELENG_2_2 headers.