1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-20 11:11:24 +00:00
Commit Graph

32895 Commits

Author SHA1 Message Date
Mike Smith
ddfd18e255 Ok, the entry aging algorithm sucked; 1s time resolution is not enough for
LRU.  Use a 31-bit counter instead.  If we decide to do heavy I/O through
the bootloader this will have to be revisited.
1998-11-02 23:50:59 +00:00
Mike Smith
af1f6e0673 Implement a simple LRU block cache. By default this is initialised to 16k,
and will bypass transfers for more than 8k.  Blocks are invalidated after
2 seconds, so removable media should not confuse the cache.

The 8k threshold is a compromise; all UFS transfers performed by
libstand are 8k or less, so large file reads thrash the cache.
However many filesystem metadata operations are also performed using
8k blocks, so using a lower threshold gives poor performance.

Those of you with an eye for cache algorithms are welcome to tell me
how badly this one sucks; you can start with the 'bcachestats' command
which will print the contents of the cache and access statistics.
1998-11-02 23:28:11 +00:00
Robert Nordier
3d04f230e5 Revise a few comments. 1998-11-02 17:53:08 +00:00
Mike Smith
3c0efe5da1 Standardise on ';' as a component separator; it seems to be a little more
common than ','.
1998-11-02 16:55:57 +00:00
Joerg Wunsch
489c66fe33 Include `enigma' into the list of usr.bin programs. 1998-11-02 11:01:38 +00:00
David E. O'Brien
1cf62e23d7 Remove the "adding default route" message and replace with
"Looking up host %s".

Suggested by:	msmith
1998-11-02 10:42:18 +00:00
David E. O'Brien
20ae30c22c spell check 1998-11-02 09:39:54 +00:00
Greg Lehey
5ecb82d898 Show revive pointer in percentage complete as well as absolute value. 1998-11-02 04:12:51 +00:00
Greg Lehey
d67b685b04 Remove kludge to set subdisk states when bringing up a plex 1998-11-02 04:12:28 +00:00
Greg Lehey
c51cd25e95 Change some numeric #defines to enums 1998-11-02 04:11:16 +00:00
Greg Lehey
8b71433847 Don't close drives when called from interrupt context, set a flag for
the top half to do it.

Put in a dubious check for subdisk integrity when trying to bring
up a plex where others are already up.  This particular kludge is
crying out for a rewrite of the whole state code.

Add code to set_plex_state and set_volume_state to defer updates when
called from an interrupt context.  This doesn't happen yet, but it
could do.
1998-11-02 04:10:45 +00:00
Greg Lehey
d45fbfc7a1 Get the default revive blocksize right for striped and RAID-5 plexes 1998-11-02 04:10:19 +00:00
Greg Lehey
47ffaa06f1 Close any drives downed in an interrupt context.
Ensure correct order of requests.
Call launch_requests at splhigh to see if this stops the mysterious
SMP panics
1998-11-02 04:09:34 +00:00
Greg Lehey
f9fd1687b6 Accept incorrect device open counts, but print a warning
Don't save invalid drive config information, remove the drive
1998-11-02 04:09:09 +00:00
Greg Lehey
6e1f0e2f5e Check for maximum number of subdisks in a plex
Get object counts right when removing
1998-11-02 04:08:30 +00:00
Peter Wemm
f3d6ee090e Only do one VOP_ACCESS() per open() instead of two. This should reduce
the NFSv3 ACCESS RPC problems a little for busy clients that do a lot of
open/close.  The nfs code could probably cache the results, but I'm not
sure whether this would be legal or useful.  The problem is that with
a CPU farm, on each open there would be a lookup, getattr then access RPC
then the read/write RPC activity.  Caching the access results probably
isn't going to help much if the clients access lots of files.  Having the
nfs_access() routine interpret the getattr results is a bit of a hack, but
it's how NFSv2 is done and it might be OK for a mount attribute for v3.
1998-11-02 02:36:16 +00:00
Alexander Langer
9184fb847b Optimize bzero() by unrolling the aligned quadword loop and moving the length
manipulation away from the length comparison.  Measurements on beast.cdrom.com
show >3X improvement over the original code on large block sizes, putting the
performance on par with the optimized assembly code in libc.
1998-11-02 00:14:50 +00:00
Andrzej Bialecki
e0b7bc571a Changed my e-mail address. 1998-11-01 20:19:43 +00:00
Andrzej Bialecki
f69ee138ff Change my e-mail address. 1998-11-01 20:01:40 +00:00
Andrzej Bialecki
634a2d5e03 Added info on Unified Configuration Interface Project. Several people
contributed their ideas to this document, among them Terry Lambert and
Bryan Mann, both @whistle.com. Thanks!
1998-11-01 19:52:47 +00:00
Nicolas Souchu
9cd97de577 Oops forgot to remove peter's 'device iicbb0' declaration. Done. 1998-11-01 18:47:18 +00:00
Nicolas Souchu
28ebb6922f Add controller iicbb (generic I2C bit-banging code) and lpbb
(official Philips I2C parallel interface)

Add comments for bktr port to the new I2C framework
1998-11-01 18:41:21 +00:00
Wolfram Schneider
05fc45d7bf The kernel should compile even /dev/null does not exists. 1998-11-01 15:36:20 +00:00
Robert Nordier
3b1bd5ae35 Ignore, rather than emulate, an i386 'hlt' instruction (though for
most practical purposes, this should be indistinguishable from a
more strictly correct approach).

Feedback and testing: msmith
1998-11-01 13:52:52 +00:00
Wolfram Schneider
de4f843d24 Write temp files with a uniq name into /var/run
instead the public writable directory /tmp
PR:	 conf/8330
1998-11-01 13:04:15 +00:00
Mike Smith
17bcf9c00a Add:
assert()
	setjmp()/longjmp()
	vsprintf()
1998-11-01 09:31:08 +00:00
Semen Ustimenko
5fabcd1a00 Ported to OpenBSD. sys/pci/smc83c170.h renamed to sys/pci/if_txvar.h to be
like others.
1998-11-01 07:44:33 +00:00
John Polstra
00bf1f3066 Fix errors detected by -Wformat. 1998-11-01 06:35:36 +00:00
John Polstra
eca7742c3c Link objformat statically by default. This makes it possible to
build 2.2-stable worlds on 3.0-current systems again.  objformat
calls getobjformat(), which doesn't exist in 2.2's libc.
Technically there should have been a version number bump when it was
added in -current.  But it's used in so few places that it hardly
seems worth that.  Besides, the objformat program is very heavily
used during a make world; it won't hurt to have it load a little
faster.
1998-11-01 02:37:40 +00:00
Poul-Henning Kamp
3538f74065 Unneeded file.
Submitted by:	Mike Spengler <mks@networkcs.com>
1998-10-31 20:09:25 +00:00
Poul-Henning Kamp
5930f69a34 Set BLLI Layer 2 protocol field when using a 'User specified' protocol.
Submitted by:	Mike Spengler <mks@networkcs.com>
1998-10-31 20:08:03 +00:00
Poul-Henning Kamp
264b85f3ce Trivial stylish changes, mostly to silence gcc.
Reviewed by:	Mike Spengler <mks@networkcs.com>
Submitted by:	phk
1998-10-31 20:07:01 +00:00
Brian Somers
9fddf73ad0 If the CBCP callee offsers no callback, send our configured
response anyway.  This is what Win95 does, despite it not
being documented in the cbcp spec....
Reported by: Bill <petheram@acm.org>
1998-10-31 17:38:48 +00:00
Brian Somers
7cf368eb42 Allow multiple systems (config labels) on the command
line and in the ``load'' & ``dial'' commands.  The last
label loaded becomes the current label name.
Only require a label for -auto mode.
1998-10-31 17:38:47 +00:00
Bill Paul
1b2451269c Increase the size of the tx and rx rings from 10 to 20 descriptors
and increase the tx interrupt threshold to 4. This fixes performance
problems on slower systems.

Also fix a mind-o in the rx ring init routine: I used the TX
constant instead of the RX. This isn't a problem as long as the
rings are the same size, but if they aren't hijinx will ensue.
1998-10-31 17:23:48 +00:00
Peter Wemm
b0359e2c11 Add John Dyson's SYSCTL descriptions, and an export of more stats to
a sysctl hierarchy (vm.stats.*).  SYSCTL descriptions are only present
in source, they do not get compiled into the binaries taking up memory.
1998-10-31 17:21:31 +00:00
Doug Rabson
06feb69276 * Extend the memory available for the heap from 256k to 512k.
* Embed the stack into the bss section for loader and netboot.  This
  is required for netboot since otherwise the stack would be inside our
  heap.
* Install loader and netboot in /boot by default.
* Fix getbootfile so that it searches for a ',' instead of a ';'
  when terminating the filename.
1998-10-31 17:12:32 +00:00
Peter Wemm
1f2edded90 vm_object_page_clean() last arg changed from TRUE to OBJPC_SYNC. I'm not
sure that this is necessary to be a sync write here since a VOP_FSYNC()
follows and it will schedule, sort and complete the writes that the
vm_object_page_clean() started (as I think I understand things).
1998-10-31 15:39:31 +00:00
Peter Wemm
2ec07c6614 Change dirty block list handling to use TAILQ macros. 1998-10-31 15:33:32 +00:00
Peter Wemm
40c8cfe552 Use TAILQ macros for clean/dirty block list processing. Set b_xflags
rather than abusing the list next pointer with a magic number.
1998-10-31 15:31:29 +00:00
Peter Wemm
213cbcbeaf I do not know if this is correct, but add iicbb0 as a device so that
LINT links.
1998-10-31 14:26:21 +00:00
Peter Wemm
e6b148712b Fixup prototypes so that this beastie compiles. 1998-10-31 14:23:09 +00:00
Peter Wemm
16e9e530cc Convert lists for bufs attached to vnodes from a LIST to a TAILQ.
- Use TAILQ_* macros extensively instead of internal names
- use b_xflags instead of the NOLIST magic number hack in the next pointer
- clean bufs are inserted at the tail rather than the head.
- redo dirty buffer insert so that metadata (negative lbn) goes to the
  tail directly rather than at the HEAD.  This makes a difference when
  inserting dirty data blocks in lbn sorted order since data block
  insertion will not have to bypass all the metadata cruft.  data is
  lbn sorted since it makes sense for clustering and writeback ordering,
  while metadata sorting doesn't help much since the lbn's are
  meaningless when walking the list for writebacks.

Small systems will not notice much (if any) benefit from this, but really
busy systems with large dirty block lists should get a lot more.

I've tested this with softdep, and it doesn't seem to mind the change of
queueing of metadata.

Reviewed (in princible) by: dg
Obtained from: partly from John Dyson's work-in-progress patches in June.
1998-10-31 14:20:39 +00:00
Peter Wemm
630ff66320 Convert the vnode clean/dirty attached buffer lists from LISTs to TAILQs.
Add a new flags field (we get this for free because of struct packing)
for cleaner management of tailq membership.
We had two spare b_flags slots, but they are a precious resource and may
be needed for other things that are related to other b_flags bits.  The two
new flags are convenient to use in a seperate location.

Reviewed (in principle) by: dg
Obtained from: John Dyson's old work-in-progress
1998-10-31 14:05:11 +00:00
Nicolas Souchu
3ab1f0562c New callback mechanism to allow iicbus bus allocation when requesting
smbus over iicsmb(4).
1998-10-31 11:39:54 +00:00
Nicolas Souchu
af5487872e pcf.c: timeout management added
ppc.c: nsc code improved. Actually, a complete rewrite.
1998-10-31 11:37:09 +00:00
Nicolas Souchu
f7ce69c963 lpbb is the official Philips parallel I2C interface. lpbb.c contains only
basic i/o functions, bit-banging mechanism is implemented by dev/iicbus/iicbb.c

immio.c: some bootverbose logs to watch zip+ connect/disconnect process
1998-10-31 11:35:21 +00:00
Nicolas Souchu
04f89a63cb iicbb is generic support for I2C bit-banging.
Other files: timeout management added to the I2C framework.
1998-10-31 11:31:07 +00:00
Nicolas Souchu
fbd78b40dd Brooktree driver ported to the new I2C framework. See iicbus(4) for more info. 1998-10-31 11:26:38 +00:00
Nicolas Souchu
206b85750f Extensions to iicbus(4) added + brooktree848 driver ported to new I2C
framework.
1998-10-31 11:24:20 +00:00