Commit Graph

29946 Commits

Author SHA1 Message Date
Bruce Evans
91ba27a769 ioctl() request args are unsigned longs, so don't attempt to store
them as ints.  Among other bugs, doing so at best caused benign
overflow followed by fatal sign extension on machines with 32-bit
ints and 64-bit longs.
1998-07-06 19:54:39 +00:00
Bill Fenner
dece5b6a43 Introduce (fairly hacky) workaround for odd TCP behavior with application
writes of size (100,208]+N*MCLBYTES.

The bug:
 sosend() hands each mbuf off to the protocol output routine as soon as it
 has copied it, in the hopes of increasing parallelism (see
  http://www.kohala.com/~rstevens/vanj.88jul20.txt ). This works well for
 TCP as long as the first mbuf handed off is at least the MSS.  However,
 when doing small writes (between MHLEN and MINCLSIZE), the transaction is
 split into 2 small MBUF's and each is individually handed off to TCP.
 TCP assumes that the first small mbuf is the whole transaction, so sends
 a small packet.  When the second small mbuf arrives, Nagle prevents TCP
 from sending it so it must wait for a (potentially delayed) ACK.  This
 sends throughput down the toilet.

The workaround:
 Set the "atomic" flag when we're doing small writes.  The "atomic" flag
 has two meanings:
 1. Copy all of the data into a chain of mbufs before handing off to the
    protocol.
 2. Leave room for a datagram header in said mbuf chain.
 TCP wants the first but doesn't want the second.  However, the second
 simply results in some memory wastage (but is why the workaround is a
 hack and not a fix).

The real fix:
 The real fix for this problem is to introduce something like a "requested
 transfer size" variable in the socket->protocol interface.  sosend()
 would then accumulate an mbuf chain until it exceeded the "requested
 transfer size".  TCP could set it to the TCP MSS (note that the
 current interface causes strange TCP behaviors when the MSS > MCLBYTES;
 nobody notices because MCLBYTES > ethernet's MTU).
1998-07-06 19:27:14 +00:00
Bruce Evans
517cdb815b Restored rev.1.11, which I somehow clobbered in rev.1.12. 1998-07-06 19:11:35 +00:00
Justin T. Gibbs
2f333cd887 Attempt to load serial eeprom contents in both 93c46 and 93c56/66 mode before
giving up.

PR: 6966
1998-07-06 18:38:57 +00:00
Eivind Eklund
c8cedb4e27 "vender" -> "vendor"
Requested by:	Aage Røbekk <aagero@aage.priv.no>
1998-07-06 16:10:06 +00:00
Eivind Eklund
d860c4c0e9 Shorten line.
Prodded (long time ago) by:	bde
1998-07-06 16:07:43 +00:00
KATO Takenori
36a5980c70 Sync with sys/i386/isa/fd.c and wd.c revisions 1.115 and 1.170,
respectively.
1998-07-06 10:09:42 +00:00
Julian Elischer
3a1ae084e2 oops ended comment before the comment ended.. 1998-07-06 09:10:56 +00:00
Julian Elischer
efe39c6a1a Bring back some slight cleanups from 2.2 1998-07-06 09:06:58 +00:00
Philippe Charnier
e37a54892b Correct use of .Nm. Spelling. Add rcsid and remove unused #includes. 1998-07-06 07:19:27 +00:00
Philippe Charnier
7b353f1aca -Wall. 1998-07-06 07:17:27 +00:00
Philippe Charnier
46fc8f78df Sync usage string and man page. Correct use of .Nm. Spelling. Remove
unused #includes.
1998-07-06 07:15:53 +00:00
Philippe Charnier
787e61c650 Correct use of .Nm. 1998-07-06 07:13:31 +00:00
Philippe Charnier
bcb1d8469d Remove unused #includes. Spelling. Add rcsid. Do not dot terminate err()
strings.
1998-07-06 07:12:38 +00:00
Philippe Charnier
6b5bcce5dc Add rcsid. Remove unused #includes. Spelling. 1998-07-06 07:09:13 +00:00
Philippe Charnier
89a3081b41 Add rcsid, remove unused #includes, spelling. 1998-07-06 07:07:41 +00:00
Philippe Charnier
fbb3447f9c Remove unused #include. Add usage(). 1998-07-06 07:06:15 +00:00
Philippe Charnier
23b5892f5e Correct use of .Nm. Spelling. Add rcsid, remove unused #includes, use err(3). 1998-07-06 07:04:50 +00:00
Philippe Charnier
b50d7fae67 Add rcsid. remove unused #includes. Getopt returns -1 not EOF. Add usage().
Cosmetics in err(3) string.
1998-07-06 07:02:26 +00:00
Philippe Charnier
063bb8badc Lowercase 1st char. in err(3) strings. 1998-07-06 06:59:52 +00:00
Philippe Charnier
614a54ebb0 remoce unused #include. 1998-07-06 06:58:32 +00:00
Philippe Charnier
5df42cf4ae Correct .Nm use. Add rcsid. Use min for minutes instead of mn. 1998-07-06 06:56:08 +00:00
Philippe Charnier
e333b9445f Update man page to allow adding address_family when -l is used (this is a no op
for now). Correct use of .Nm. Short usage string (see man page for full list).
Spelling.  Use err(3).
1998-07-06 06:53:43 +00:00
Philippe Charnier
d98b16689b Correct use of .Nm, use .Bx Free for FreeBSD. Add rcsid, remove unused
#includes. Spelling. Use err(3) and add usage().
1998-07-06 06:44:36 +00:00
Warner Losh
f71f5262b1 Add the ability to suspend as well as hibernate to the system. This
is the kernel part of my commits, the userlevel stuff will be done in
a separate commit.  Add the ability to suspend as well as hibernate to
syscons.  Create a new virtual key like hibernate for suspend.  Update
apm_bios.h to define more apm bios goodies.
1998-07-06 06:29:07 +00:00
Julian Elischer
1f7e052c16 Don't expect the new code to be used without the right option file being
included.
1998-07-06 05:04:33 +00:00
Julian Elischer
d4295c3248 Fix braino in switching to TAILQ macro. 1998-07-06 05:00:53 +00:00
Julian Elischer
cdcc2613ac Forgot to register the IPFIREWALL_FORWARD option. 1998-07-06 04:55:22 +00:00
Joseph Koshy
ec500c67a1 Document -I' and -R' options to `pkg_info'.
PR: 7155
1998-07-06 04:39:20 +00:00
Julian Elischer
f9e354df42 Support for IPFW based transparent forwarding.
Any packet that can be matched by a ipfw rule can be redirected
transparently to another port or machine. Redirection to another port
mostly makes sense with tcp, where a session can be set up
between a proxy and an unsuspecting client. Redirection to another machine
requires that the other machine also be expecting to receive the forwarded
packets, as their headers will not have been modified.

/sbin/ipfw must be recompiled!!!

Reviewed by:	Peter Wemm <peter@freebsd.org>
Submitted by: Chrisy Luke <chrisy@flix.net>
1998-07-06 03:20:19 +00:00
Julian Elischer
6312920c20 DEVFS completely bypasses the cdevsw and bdevsw tables now.
Each devfs node has (and has had fro a while) a pointer directly to
the correct cdefsw entry so just use it instead of doing the lookup.

There are several other places in the kernel that still use the tables
however, so they can't go away yet..
1998-07-05 23:10:22 +00:00
Julian Elischer
596f8506ad fix braino from yesterdays' megacommit
Not sure of the result of it..
(may or may not effect anything) but it's fixed now.
(found by: comparing what cvsup sent back to me with what I tested..)
1998-07-05 20:33:18 +00:00
Doug Rabson
be90e52a12 Add support for kernel gdb. 1998-07-05 12:24:18 +00:00
Doug Rabson
638ccebd00 Use byte/word access in badaddr if relevant. 1998-07-05 12:22:56 +00:00
Doug Rabson
36ed9b0405 Support channel B as well as channel A. 1998-07-05 12:16:55 +00:00
Doug Rabson
e6d4206665 Add basic support for 2117x pci chipsets. Currently only pyxis (21174)
is supported.  Older chipsets will be easy to support later but right now,
I just want to boot my 164LX scratch machine :-).
1998-07-05 12:16:15 +00:00
Doug Rabson
e16d98b08c Add macros for byte/word sized load and store instructions. 1998-07-05 12:14:15 +00:00
Doug Rabson
ac49021837 Add declaration of the NetBSD/alpha bootinfo. 1998-07-05 12:13:18 +00:00
Doug Rabson
b3cfa43c24 First steps at supporting EB164 (AlphaPC 164, 164LX, 164SX). 1998-07-05 12:10:10 +00:00
Doug Rabson
5aade7d9d3 Define bio_imask to allow the ncr driver to compile. The idea of passing
mask address around when registering interrupts is wrong IMHO.  We should
use a priority level like IPL_BIO and the lower levels can then translate
it into a mask if they want.
1998-07-05 12:08:59 +00:00
Doug Rabson
43ab2043e9 Make the prom console work as a real device as well as a console. 1998-07-05 11:59:44 +00:00
Doug Rabson
86cabe47cb Make sure hold_count for level 2 maps is maintained properly.
Simplify pmap_mapdev (its still totally wrong for the alpha).
1998-07-05 11:58:35 +00:00
Doug Rabson
711458e3e9 Don't truncate the return value of mmap to sizeof(int). 1998-07-05 11:56:52 +00:00
Doug Rabson
6521fa6115 Minor tidying. 1998-07-05 10:14:32 +00:00
Doug Rabson
f3dadb8e75 Use u_int32_t in NQFHHASH instead of u_long. 1998-07-05 10:13:22 +00:00
Doug Rabson
46e5fdffb9 Remove the two single step breakpoints in the reverse order of setting to
ensure that single stepping a branch to the next instruction works.
1998-07-05 10:12:18 +00:00
Doug Rabson
398a2b53c4 Add symtab parameter to X_db_symbol_values. 1998-07-05 10:11:20 +00:00
Doug Rabson
1bfc653bbc Support 'g' format for printing 8 byte values. 1998-07-05 10:10:33 +00:00
Julian Elischer
f7ea2f55d1 There is no such thing any more as "struct bdevsw".
There is only cdevsw (which should be renamed in a later edit to deventry
or something). cdevsw contains the union of what were in both bdevsw an
cdevsw entries.  The bdevsw[] table stiff exists and is a second pointer
to the cdevsw entry of the device. it's major is in d_bmaj rather than
d_maj. some cleanup still to happen (e.g. dsopen now gets two pointers
to the same cdevsw struct instead of one to a bdevsw and one to a cdevsw).

rawread()/rawwrite() went away as part of this though it's not strictly
the same  patch, just that it involves all the same lines in the drivers.

cdroms no longer have write() entries (they did have rawwrite (?)).
tapes no longer have support for bdev operations.

Reviewed by: Eivind Eklund and Mike Smith
	Changes suggested by eivind.
1998-07-04 22:30:26 +00:00
John Polstra
2c5174cba2 Fix spelling error. 1998-07-04 22:10:20 +00:00