Commit Graph

38895 Commits

Author SHA1 Message Date
Jason Evans
ecaa6e8c9e Use growable stacks for thread stacks that are the default stack size.
Cache discarded default thread stacks for use in subsequent thread creations.

Create a red zone at the end of each stack (including the initial thread
stack), with the hope of causing a segfault if a stack overflows.

To activate these modifications, add -D_PTHREAD_GSTACK to CFLAGS in
src/lib/libc_r/Makefile.  Since the modifications depend on the VM_STACK
kernel option, I'm not sure how to safely use growable stacks by default.

Testing, as well as algorithmic and stylistic comments are welcome.
1999-07-05 00:35:19 +00:00
Bill Fumerola
9539436c36 (1) Include linker.h because we use kldload()
(2) Clear up an ambigious, nested if/else
(3) Cast a ccio_size to a long and use the correct format identifier.

Reviewed by:	green
1999-07-04 23:42:32 +00:00
Poul-Henning Kamp
e26b8fd66e fix DEV_MODULE, I overlooked this one in my last commit 1999-07-04 19:48:35 +00:00
Bill Fumerola
9ef5c48bef Clean up some ambiguous nested if/elses. 1999-07-04 17:26:16 +00:00
Bruce Evans
adbaeacdd6 Fixed missing prototype for address_to_line(). One call passes an
int where an unsigned long is expected.  This was fatal on i386's
with 64-bit longs.
1999-07-04 16:00:04 +00:00
Tatsumi Hosokawa
2a5512b1c9 configure "pccardd_flags" in /etc/rc.conf by sysinstall. 1999-07-04 15:54:14 +00:00
Bruce Evans
636c549064 Don't override the (correct) default for BINDIR. 1999-07-04 15:51:39 +00:00
Bruce Evans
1e455c280e Fixed style bugs in FreeBSD changes. KNF style doesn't apply to gnu
sources.
1999-07-04 15:46:44 +00:00
Bruce Evans
8c024a04db Improved error handling in rev.1.18: don't ignore failure of execve().
Fixed some style bugs in rev.1.18.
1999-07-04 15:42:04 +00:00
Tatsumi Hosokawa
631b67070b Modified to configure pccard_mem in /etc/rc.conf by sysinstall. 1999-07-04 15:11:23 +00:00
Dag-Erling Smørgrav
c8d4e07049 Feed the vty monster. 1999-07-04 15:06:21 +00:00
Poul-Henning Kamp
03016f421b Remove cmaj and bmaj args from DEV_DRIVER_MODULE. 1999-07-04 14:58:56 +00:00
Bruce Evans
1168ab0815 Fixed corruption of the "blocked" list in lf_setlock() when tsleep()
returns 0 after ptrace() attach and/or detach doesn't quite quite
deliver a signal.  Perhaps the process shouldn't be woken in this
case, but avoiding the problem is easy.

PR:		12247

Fixed a couple of places where mechanical fixing of compiler warnings
caused misspelling of NOLOCKF as NULL.
1999-07-04 14:43:01 +00:00
Tatsumi Hosokawa
6d0cab6541 Added "pccardd_flags" for rc.conf. 1999-07-04 14:41:20 +00:00
Bill Paul
f30fba37d7 Patch the WaveLAN/IEEE driver to detect and reject oversized received
frames (or just insane received packet lengths generated due to errors
reading from the NIC's internal buffers). Anything too large to fit
safely into an mbuf cluster buffer is discarded and an error logged.

I have not observed this problem with my own cards, but on user has
reported it and adding the sanity test seems reasonable in any case.

Problem noted and patch provided by: Per Andersson <per@cdg.chalmers.se>
1999-07-04 14:40:22 +00:00
Tatsumi Hosokawa
4b861c74b9 make release (actually, make floppies) makes PC-card boot.flp automatically. 1999-07-04 13:31:05 +00:00
Yoshihiro Takahashi
8261d02032 Remove the 'tty' interrupt label. This is obsolete.
Pointed out by:	NAKAJI Hiroyuki <nakaji@tutrp.tut.ac.jp>
1999-07-04 11:53:18 +00:00
David E. O'Brien
b47f20df89 Actually impliment the documented %Z specifier. 1999-07-04 08:54:26 +00:00
Bruce Evans
edff69904f Quick fix for breakage of bounds checking in rev.1.12. Only one
of the additional checks in rev.1.12 was wrong.  The others are a
bit inconsistent and are probably unnecessarily pessimal.  Checking
for overflow of addition, if necessary at all, should be done in
bpf_validate().

PR:	12484
1999-07-04 08:07:35 +00:00
Peter Wemm
260c6dbfb9 Minor nit - pn_cachesize is not a PN_RX_BUG_WAR varible.
Also, a minor tweak to get better struct packing.
1999-07-04 04:21:29 +00:00
Jonathan Lemon
3f594242d1 Some cleanup and rearrangement. hw.physmem is now an absolute quantity;
we will never use more memory than this value (if specified), but will always
check memory for validity up to this amount.

Get rid of the speculative_mprobe option; the memory amount can now be
specified by hw.physmem.
1999-07-04 02:26:23 +00:00
Kirk McKusick
1c9ca5858f The vfs.write_behind sysctl and related code support has been added to
allow changes to the filesystem's write_behind behavior.  By the
default the filesystem aggressively issues write_behind's.  Three values
may be specified for vfs.write_behind.  0 disables write_behind, 1 results
in historical operation (agressive write_behind), and 2 is an experimental
backed-off write_behind.  The values of 0 and 1 are recommended.  The value
of 0 is recommended in conjuction with an increase in the number of
NBUF's and the number of dirty buffers allowed (vfs.{lo,hi}dirtybuffers).
Note that a value of 0 will radically increase the dirty buffer load on
the system.  Future work on write_behind behavior will use values 2 and
greater for testing purposes.

Submitted by:	Matthew Dillon <dillon@apollo.backplane.com>
Reviewed by:	Kirk McKusick <mckusick@mckusick.com>
1999-07-04 00:31:17 +00:00
Kirk McKusick
e929c00d23 The buffer queue mechanism has been reformulated. Instead of having
QUEUE_AGE, QUEUE_LRU, and QUEUE_EMPTY we instead have QUEUE_CLEAN,
QUEUE_DIRTY, QUEUE_EMPTY, and QUEUE_EMPTYKVA.  With this patch clean
and dirty buffers have been separated.  Empty buffers with KVM
assignments have been separated from truely empty buffers.  getnewbuf()
has been rewritten and now operates in a 100% optimal fashion.  That is,
it is able to find precisely the right kind of buffer it needs to
allocate a new buffer, defragment KVM, or to free-up an existing buffer
when the buffer cache is full (which is a steady-state situation for
the buffer cache).

Buffer flushing has been reorganized.  Previously buffers were flushed
in the context of whatever process hit the conditions forcing buffer
flushing to occur.  This resulted in processes blocking on conditions
unrelated to what they were doing.  This also resulted in inappropriate
VFS stacking chains due to multiple processes getting stuck trying to
flush dirty buffers or due to a single process getting into a situation
where it might attempt to flush buffers recursively - a situation that
was only partially fixed in prior commits.  We have added a new daemon
called the buf_daemon which is responsible for flushing dirty buffers
when the number of dirty buffers exceeds the vfs.hidirtybuffers limit.
This daemon attempts to dynamically adjust the rate at which dirty buffers
are flushed such that getnewbuf() calls (almost) never block.

The number of nbufs and amount of buffer space is now scaled past the
8MB limit that was previously imposed for systems with over 64MB of
memory, and the vfs.{lo,hi}dirtybuffers limits have been relaxed
somewhat.  The number of physical buffers has been increased with the
intention that we will manage physical I/O differently in the future.

reassignbuf previously attempted to keep the dirtyblkhd list sorted which
could result in non-deterministic operation under certain conditions,
such as when a large number of dirty buffers are being managed.  This
algorithm has been changed.  reassignbuf now keeps buffers locally sorted
if it can do so cheaply, and otherwise gives up and adds buffers to
the head of the dirtyblkhd list.  The new algorithm is deterministic but
not perfect.  The new algorithm greatly reduces problems that previously
occured when write_behind was turned off in the system.

The P_FLSINPROG proc->p_flag bit has been replaced by the more descriptive
P_BUFEXHAUST bit.  This bit allows processes working with filesystem
buffers to use available emergency reserves.  Normal processes do not set
this bit and are not allowed to dig into emergency reserves.  The purpose
of this bit is to avoid low-memory deadlocks.

A small race condition was fixed in getpbuf() in vm/vm_pager.c.

Submitted by:	Matthew Dillon <dillon@apollo.backplane.com>
Reviewed by:	Kirk McKusick <mckusick@mckusick.com>
1999-07-04 00:25:38 +00:00
John Polstra
5bf3700dae Shake hands with GDB a little bit earlier so that it is possible to
debug the init functions.

Submitted by:	dfr
1999-07-03 23:54:02 +00:00
Nick Hibma
2677b5a4db Add the semi-official Bulk protocol id 'P' 1999-07-03 22:19:41 +00:00
Warner Losh
e5bd655a0c Latest updating changes for softupdates, inetd and newsysconfig. 1999-07-03 22:15:43 +00:00
John Polstra
24755bdc25 Update pathnames for new location of soft-updates sources. 1999-07-03 21:34:05 +00:00
John Polstra
8b7c163daf Update comment for new location of soft-updates sources. 1999-07-03 21:31:00 +00:00
John Polstra
ea0e46fdbf Remove the soft-updates sources from their original location. They
have been repository-copied to "src/sys/contrib/softupdates".
1999-07-03 21:26:34 +00:00
Matt Jacob
a7454a8878 Make the change similar to that suggested by Nick Hibma to avoid divide by
zero traps. I actually can't believe that this compiler is *sooooo* stupid
that it did a divide when there was 1024L*1024L instead of a right shift by
20. When we get quad type modifiers in kernel printf we can change to this
too (to avoid overflow on > terabyte disk sizes).
1999-07-03 21:14:45 +00:00
Peter Wemm
882b71223e printf int/dev_t (pointer) warning 1999-07-03 21:03:56 +00:00
Peter Wemm
2e69f43c62 Delete stray static prototype. 1999-07-03 21:02:09 +00:00
Peter Wemm
1943af613f Stop rfork(0) from panicing. (oops!!)
Submitted by:	Peter Holm <peter@holm.cc>
1999-07-03 20:58:44 +00:00
Peter Wemm
9929d2a045 Eliminate a bunch of #include "pci.h" and #if NPCI > 0 around entire
files.  config will leave the whole file out if configured to do so.
1999-07-03 20:17:08 +00:00
Warner Losh
279f2101e7 Improve compatibility with other systems by changing the default
behavior slightly.

If machine/bus.h is included, but neither bus_memio.h nor bus_pio.h
are included, then behave as if both were included.

This won't change existing drivers, all of which include one or more
of bus_{p,mem}io.h, but will allow drivers from other systems to come
over with fewer changes.  I freely admit that this might not be
optimal for some drivers, but those drivers can be optimized for
FreeBSD after the initial bringup happens.

Without the change, there is a bug that preclude drivers from
compiling with strange warning/errors.

I've been running this here for a while now w/o ill effects.

Reviewed by: gibbs
Not objected to by: bde, arch@ list.
1999-07-03 20:14:08 +00:00
Nick Hibma
f5f8bec2d6 Remove bogus argument to LIST_HEAD_INITIALIZER 1999-07-03 20:04:53 +00:00
Peter Wemm
1b24aa44b9 Delete special handling for 'device-driver' suffix, it's not used in
the kernel source now.
1999-07-03 19:22:52 +00:00
Peter Wemm
6c205e59db Delete the 'device-driver' suffix. It's been meaningless for a long time.
On the VAX, it used to be used for special compilation to avoid the
optimizer which would mess with memory mapped devices etc.  These days
we use 'volatile'.
1999-07-03 19:19:34 +00:00
Peter Wemm
0634d7115f Only have the pci component compiled if pci is specified at config.
Remove #if NPCI > 0 as a result.
1999-07-03 18:34:04 +00:00
Peter Wemm
dae36f142b Move bt_isa.c to the cpu-independent isa section. 1999-07-03 18:26:25 +00:00
Peter Wemm
ca224f89a9 Fix warnings in last commit (dev_t is not an int, and not even int
compatable in arg lists on the Alpha)
1999-07-03 17:40:31 +00:00
Peter Wemm
c9e7f49d11 A minor tweak to shut up gcc (on the Alpha) for two (false) warnings.
How it can think that something that is initialized at declaration can
be used while uninitialized is beyond me.
1999-07-03 16:29:32 +00:00
Dmitrij Tejblum
aac6614bdc Don't ignore weak symbols.
EGCS assign weak symbols to inline functions it couldn't inline (e.g. virtual
inline functions), template functions, etc. Omitting them result in quite bogus
profile.

Weak symbols created by __weak_reference are not really problem.

Caught by:	Ilya Segalovich <iseg@comptek.ru>
1999-07-03 12:30:04 +00:00
Dag-Erling Smørgrav
19364f02eb Reverse the FTP_PASSIVE_MODE check, so it checks for "is not NO" rather
than "is YES".
1999-07-03 10:10:50 +00:00
KATO Takenori
a63e8e0e3a Added copyright.
Pointed out by:	yokota
1999-07-03 08:50:45 +00:00
KATO Takenori
2d611c2bca Removed unused files. 1999-07-03 08:45:16 +00:00
KATO Takenori
3e1a31161c Moved LCD controle routine for certain models of EPSON laptops into
suitable place.

Submitted by:	yokota
1999-07-03 08:44:32 +00:00
KATO Takenori
f38004144f Sync with sys/i386/i386/machdep.c revision 1.349. 1999-07-03 08:31:32 +00:00
Poul-Henning Kamp
ad6cb55952 Be more informative and try to ask the user in some instances if we can't
figure out the root device.
1999-07-03 08:24:00 +00:00
Poul-Henning Kamp
e366aade76 Bail after 5 attempts to read very noisy signals. 1999-07-03 08:23:00 +00:00