summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Introduce (fairly hacky) workaround for odd TCP behavior with applicationfenner1998-07-061-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
* Attempt to load serial eeprom contents in both 93c46 and 93c56/66 mode beforegibbs1998-07-061-22/+42
| | | | | | giving up. PR: 6966
* "vender" -> "vendor"eivind1998-07-061-17/+17
| | | | Requested by: Aage Røbekk <aagero@aage.priv.no>
* Shorten line.eivind1998-07-061-2/+2
| | | | Prodded (long time ago) by: bde
* Sync with sys/i386/isa/fd.c and wd.c revisions 1.115 and 1.170,kato1998-07-063-26/+82
| | | | respectively.
* oops ended comment before the comment ended..julian1998-07-061-2/+2
|
* Bring back some slight cleanups from 2.2julian1998-07-062-6/+21
|
* Add the ability to suspend as well as hibernate to the system. Thisimp1998-07-068-46/+157
| | | | | | | 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.
* Don't expect the new code to be used without the right option file beingjulian1998-07-061-1/+2
| | | | included.
* Fix braino in switching to TAILQ macro.julian1998-07-062-4/+4
|
* Forgot to register the IPFIREWALL_FORWARD option.julian1998-07-061-1/+2
|
* Support for IPFW based transparent forwarding.julian1998-07-068-30/+288
| | | | | | | | | | | | | | 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>
* DEVFS completely bypasses the cdevsw and bdevsw tables now.julian1998-07-053-232/+804
| | | | | | | | 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..
* fix braino from yesterdays' megacommitjulian1998-07-051-2/+2
| | | | | | 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..)
* Add support for kernel gdb.dfr1998-07-055-40/+829
|
* Use byte/word access in badaddr if relevant.dfr1998-07-051-3/+12
|
* Support channel B as well as channel A.dfr1998-07-052-35/+76
|
* Add basic support for 2117x pci chipsets. Currently only pyxis (21174)dfr1998-07-053-0/+491
| | | | | is supported. Older chipsets will be easy to support later but right now, I just want to boot my 164LX scratch machine :-).
* Add macros for byte/word sized load and store instructions.dfr1998-07-051-0/+76
|
* Add declaration of the NetBSD/alpha bootinfo.dfr1998-07-052-0/+118
|
* First steps at supporting EB164 (AlphaPC 164, 164LX, 164SX).dfr1998-07-052-3/+135
|
* Define bio_imask to allow the ncr driver to compile. The idea of passingdfr1998-07-051-1/+3
| | | | | | 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.
* Make the prom console work as a real device as well as a console.dfr1998-07-052-43/+64
|
* Make sure hold_count for level 2 maps is maintained properly.dfr1998-07-051-24/+10
| | | | Simplify pmap_mapdev (its still totally wrong for the alpha).
* Don't truncate the return value of mmap to sizeof(int).dfr1998-07-051-2/+2
|
* Minor tidying.dfr1998-07-051-11/+7
|
* Use u_int32_t in NQFHHASH instead of u_long.dfr1998-07-051-2/+2
|
* Remove the two single step breakpoints in the reverse order of setting todfr1998-07-051-5/+5
| | | | ensure that single stepping a branch to the next instruction works.
* Add symtab parameter to X_db_symbol_values.dfr1998-07-051-2/+3
|
* Support 'g' format for printing 8 byte values.dfr1998-07-051-1/+5
|
* There is no such thing any more as "struct bdevsw".julian1998-07-0445-496/+819
| | | | | | | | | | | | | | | | | | 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.
* VOP_STRATEGY grows an (struct vnode *) argumentjulian1998-07-0435-166/+88
| | | | | | as the value in b_vp is often not really what you want. (and needs to be frobbed). more cleanups will follow this. Reviewed by: Bruce Evans <bde@freebsd.org>
* Hmm, braino in last commit.phk1998-07-042-8/+10
|
* Change the sign on a race-condition, so that instead of ending up severalphk1998-07-042-16/+36
| | | | | tens of milliseconds out in the future we end up the right place with a subweeniesecond error.
* Remove '???' because it generates an annoying message aboutsteve1998-07-041-2/+2
| | | | | | | a trigraph being encountered when included. PR: 7123 Submitted by: Greg Lehey <grog@lemis.com>
* Fix some strange errors of shutting transmitter up when startsemenu1998-07-043-1182/+1153
| | | | | | | transmition after software reset with no link estabilished yet. Fix TX DMA stop method (queue last packet to stop). PR: i386/6578
* Don't use a struct buf (malloc'd) without first initialising all the fieldsjulian1998-07-041-1/+5
| | | | | to some known value! (probable cause of soft updates exploding with vn devices)
* Restored revs.1.89-1.90 which I somehow clobbered in rev.1.91.bde1998-07-031-4/+4
|
* Sync timestamp changes for inodes of special files to disk as latebde1998-07-038-29/+44
| | | | | | | | | | | | | | as possible (when the inode is reclaimed). Temporarily only do this if option UFS_LAZYMOD configured and softupdates aren't enabled. UFS_LAZYMOD is intentionally left out of /sys/conf/options. This is mainly to avoid almost useless disk i/o on battery powered machines. It's silly to write to disk (on the next sync or when the inode becomes inactive) just because someone hit a key or something wrote to the screen or /dev/null. PR: 5577 Previous version reviewed by: phk
* Centralized in-core inode update. Update the in-core inode directlybde1998-07-035-71/+33
| | | | | | | | in ufs_setattr() so that there is no need to pass timestamps to UFS_UPDATE() (everything else just needs the current time). Ignore the passed-in timestamps in UFS_UPDATE() and always call ufs_itimes() (was: itimes()) to do the update. The timestamps are still passed so that all the callers don't need to be changed yet.
* Check for missing keyboard.jkh1998-07-031-0/+26
| | | | | PR: 7108 Submitted by: Hellmuth Michaelis <hm@hcs.de>
* Update M_EXT support in m_copypacket().phk1998-07-031-3/+11
| | | | | | | PR: 7122 Reviewed by: phk Submitted by: Castor Fu <castor@geocast.com> Originally forgotten by: julian
* Reset MNT_ASYNC flag if needed if unmount() should fail.dg1998-07-032-2/+8
| | | | Submitted by: Paul Saab <paul@mu.org>
* When we transfer time from one timecounter to the next, use nanouptime(),phk1998-07-022-8/+8
| | | | | | not nanotime(); Otherwise we end up in 2026... Fix the arg to dummy_get_timecount()
* Add workaround to allow the FreeBSD boot block to work onwpaul1998-07-021-1/+13
| | | | | | | | | | | | | | Kapok Computer Co. notebook with AMI 'WinBIOS' which seems to insist on having a short jump and nop as the first instructions in the boot sector code. The prevailing theory is that the BIOS is doing some sort of boot sector virus detection and refusing to run any boot block that doesn't start with the same instruction sequence as MS-DOG boot sector code. If this is the case, it would be nice if it actually printed an error message to this effect instead of just saying 'FAILED.' This workaround has no effect on the boot sector code other than to increase its size by three bytes.
* Fix the N'th occurance of missed bits due to opt_???? mucking.sos1998-07-023-6/+15
| | | | | | Doesn't anybody TEST code before committing.... This is the N+1'th time these laste couble of days...
* Moved `#ifndef NFS_NOSERVER' after including nfs.h.kato1998-07-022-4/+4
|
* Sync with sys/i386/conf/options.i386 revision 1.82.kato1998-07-022-18/+16
|
* Sync with sys/i386/i386/machdep.c revision 1.302.kato1998-07-022-4/+24
|
* Sync with sys/i386/boot/netboot/Makefile, bootmenu.c, main.c andkato1998-07-024-12/+52
| | | | ns8390.c revisions 1.18, 1.15, 1.22 and 1.13, respectiely.
OpenPOWER on IntegriCloud