Commit Graph

54455 Commits

Author SHA1 Message Date
Mark Murray
84d4f509f0 Major speedup to /dev/random and the kernel thread that reseeds it.
There is no more TAILQ fifo to harvest the entropy; instead, there
is a circular buffer of constant size (changeable by macro) that
pretty dramatically improves the speed and fixes potential slowdowns-
by-locking.

Also gone are a slew of malloc(9) and free(9) calls; all harvesting
buffers are static.

All-in-all, this is a good performance improvement.

Thanks-to:	msmith for the circular buffer concept-code.
2000-12-02 18:40:16 +00:00
Matt Jacob
e5f2f488c5 Add USEC_SLEEP macro support. Change the location at which we define
ISP_LOCK/ISP_UNLOCK macros.
2000-12-02 18:33:29 +00:00
Mark Murray
5f7f65f124 Default the /dev/random loadable module to blocking-on-bootup,
but leave a commented-out macro to change this.
2000-12-02 18:29:18 +00:00
Matt Jacob
81babfd043 Make the Not RESPONSE in RESPONSE QUEUE message have a bit more info
(specifically, how many entries we've looked at so far). Maintain
interrupt instrumentation. Use USEC_SLEEP instead of USEC_DELAY in
a number of places (this allows us to drop locks and sleep instead
of spin). Track changes to configuration options for topology preference.
Fix botched order of printout for Channel, Target, Lun.
2000-12-02 18:08:35 +00:00
Matt Jacob
67afe757a2 Add interrupt instrumentation. Change ISP_CFG_NPORT config option to
a set of options that allows specific loop, loop-only, nport, nport-only
topology settings. Define a required macro for all platforms (USEC_SLEEP).
2000-12-02 18:06:03 +00:00
Mark Murray
4a3a2f0704 Namespace cleanup. Remove some #includes in favour of an explicit
declaration.

Asked for by:	bde
2000-12-02 17:59:41 +00:00
Mark Murray
4cb1e53914 Recouple arc4random(9) to the entropy device. This works whether the
entropy device is loaded or not.

If the entropy device is NOT loaded, the the quality of perturbations
supplied by this will suffer.
2000-12-02 16:23:54 +00:00
Julian Elischer
e8a49db233 Add splhigh()s to protect against a race condition
that shows up when running with ethernet bridging
at high speed.

Submitted by: Chris Csanady <ccsanady@iastate.edu>
(and extended by me)
2000-12-02 13:27:58 +00:00
Bruce Evans
03b67a395f Backed out previous commit. Don't depend on namespace pollution in
<sys/buf.h>.
2000-12-02 12:03:58 +00:00
John Baldwin
c5a44a6af6 Protect p_stat with sched_lock. 2000-12-02 06:09:44 +00:00
Jake Burkholder
4231c165f7 Remove last vestiges of thr_sleep and thr_wakeup from libc. 2000-12-02 05:58:03 +00:00
Jake Burkholder
a4bd171dbf Regen. 2000-12-02 05:45:32 +00:00
Jake Burkholder
0ad84a819c Forgot this file in previous commit to remove file kern_threads.c 2000-12-02 05:42:30 +00:00
Jake Burkholder
86360fee54 Remove thr_sleep and thr_wakeup. Remove fields p_nthread and p_wakeup
from struct proc, which are now unused (p_nthread already was).
Remove process flag P_KTHREADP which was untested and only set
in vfs_aio.c (it should use kthread_create).  Move the yield
system call to kern_synch.c as kern_threads.c has been removed
completely.

moral support from:	alfred, jhb
2000-12-02 05:41:30 +00:00
Andrew Gallatin
b852b893a3 introduce support for static compilation of the osf/1 module via the
COMPAT_OSF1 option
2000-12-02 04:17:19 +00:00
Andrew Gallatin
6e4708aa12 exec_osf1_imgact() should return -1 for non OSF1/ECOFF binaries, it should
not return ENOEXEC.  This is because image activators should return -1 if they
don't claim an image. They should return ENOEXEC if they do claim it,
but cannot load it due to sime problem with the image.   This bug was
preventing static compilation of the osf/1 module.  I'm surprised it
did not cause more problems.
2000-12-02 04:15:17 +00:00
John Baldwin
c8a6b0011c Protect p_stat with sched_lock. 2000-12-02 03:29:33 +00:00
Andrew Gallatin
106545544a cleanup: remove redundant mp_machdep.c and non-existent simplelock.s.
Ironically enough, simple locks are implemented in mp_machdep.c..
2000-12-02 02:09:28 +00:00
John Baldwin
c3f52eedeb Protect p_stat with the sched_lock.
Reviewed by:	jake
2000-12-02 01:58:15 +00:00
John Baldwin
0ebabc93a4 Protect p_stat with sched_lock. 2000-12-02 01:32:51 +00:00
Scott Long
3cd59d7b9c Revert attach() back to the old behaviour of calling bus_generic_attach().
The new way doesn't seem to work reliably and was causing devices to not
be seen.

Approved by:	msmith
2000-12-02 01:14:14 +00:00
Bosko Milekic
794cd879fe Make sure to free the sf_buf if we've allocated it but fail to allocate
an mbuf (ENOBUFS) before returning so that we don't leak sf_bufs in
the case where we're out of mbufs.

Submitted by: David Greenman (dg)
2000-12-02 00:40:57 +00:00
Garance A Drosehn
bbe8edb0ac Fix some error-handling logic so that ferror is called before fclose,
instead of immediately after the fclose.  The previous logic did work
on freebsd, but is somewhat risky practice (and causes trouble when
porting to other OS's).

PR:		bin/22965
Reviewed by:	Garrett Wollman
2000-12-02 00:07:56 +00:00
John Baldwin
1c32c37c06 Protect p_stat with sched_lock. 2000-12-01 23:43:15 +00:00
Andrew Gallatin
6e01adb67f Alter isa interrupt behaviour on alpha. Rather than send a non-specific
EOI after the ithread runs, send the EOI when we get the interrupt and
disable the source.  After the ithread is run, the source is renabled.
Also, add isa_handle_fast_intr() which handles fast interrupts by sending
an EOI after the handler is run.

This fixes the chronic missing interrupt problems under heavy NFS load
on my UP1000 and should result in greater stability for alphas which
route all irqs through an isa pic.

Discussed with: jhb, bde (sending non-specific EOIs early was bde's idea)
2000-12-01 22:28:04 +00:00
Poul-Henning Kamp
90e1dc9f59 Make labels mandatory for vn(4). 2000-12-01 22:27:40 +00:00
Poul-Henning Kamp
82e078d8f9 Make <struct.h> #error instead of #warn that it is going away on jan 1st. 2000-12-01 22:15:56 +00:00
Jordan K. Hubbard
8fd61eaf91 Also list kernel target so one can get to it. 2000-12-01 22:00:33 +00:00
Alfred Perlstein
07b219e204 Revert disconnect of sysvipc now that there's a makefile available 2000-12-01 21:13:06 +00:00
Andrew Gallatin
36acf3d991 fix another int/long type mismatch. This one was causing pigs to
die with an fpe on alpha because fscale wasn't properly initted
2000-12-01 20:57:02 +00:00
Andrew Gallatin
d468ee6f1a fix int/long type mismatches found on alpha 2000-12-01 20:01:38 +00:00
Jordan K. Hubbard
63b02f9082 Document the "kernel" target. 2000-12-01 19:49:33 +00:00
Warner Losh
303b52daac Add device ID for the 3c565C card. I followed exactly the 3c575c, but
further tweaks may be necessary down the road.  This does nothing with
the serial side of the card.
2000-12-01 19:41:14 +00:00
David E. O'Brien
1ab84b3fc7 Grrr... GCC 2.95.2 and 2.96 just will not agree what the default include
search paths are.  So add the requirements of both. :-(
2000-12-01 19:36:17 +00:00
Andrew Gallatin
4c0b7a9327 acquire/release Giant in vm_page_zero_idle(), like on i386
Discused with: jhb
2000-12-01 18:55:58 +00:00
Alfred Perlstein
c6105ae6e5 Forgotten makefile. 2000-12-01 17:49:16 +00:00
Jonathan Lemon
c0d06cc717 Add identifier for Compaq HotPlug host->pci bridge.
Submitted by: Steve Harrington <sgh@home.com>
2000-12-01 17:34:55 +00:00
John Baldwin
2925cbe569 Protect p_stat with sched_lock. 2000-12-01 16:59:02 +00:00
Ruslan Ermilov
d3bc44f91c This commit was generated by cvs2svn to compensate for changes in r69482,
which included commits to RCS files with non-trunk default branches.
2000-12-01 15:36:10 +00:00
Ruslan Ermilov
b8d4dc6c68 Follow POLA and bind the <End> key to the `$' command.
This is committed to the vendor (BOSTIC) branch because
it was accepted (committed) by ``nvi'' maintainers:

On Fri, Dec 01, 2000 at 03:51:14PM +0100, Sven Verdoolaege wrote:
[...]
> RCS file: /b/CVSROOT/vi/cl/cl_bsd.c,v
> Working file: cl_bsd.c
> head: 8.32
> branch:
> locks: strict
> access list:
> symbolic names:
>         nvi1-81-1: 8.31
>         nvi1-81-0: 8.30
>         nvi1-80: 8.29.0.2
> keyword substitution: kv
> total revisions: 32;    selected revisions: 1
> description:
> ----------------------------
> revision 8.32
> date: 2000/12/01 13:56:17;  author: skimo;  state: Exp;  lines: +2 -1
> allow use of <End> key on AT-compatible keyboards (Ruslan Ermilov <ru@FreeBSD.org>)
> =============================================================================
>
> RCS file: /b/CVSROOT/vi/cl/cl_term.c,v
> Working file: cl_term.c
> head: 10.28
> branch:
> locks: strict
> access list:
> symbolic names:
>         nvi1-81-1: 10.27
>         nvi1-81-0: 10.23
>         nvi1-80: 10.23.0.2
> keyword substitution: kv
> total revisions: 47;    selected revisions: 1
> description:
> ----------------------------
> revision 10.28
> date: 2000/12/01 13:56:18;  author: skimo;  state: Exp;  lines: +2 -1
> allow use of <End> key on AT-compatible keyboards (Ruslan Ermilov <ru@FreeBSD.org>)
2000-12-01 15:36:10 +00:00
Andrew Gallatin
689634a3ea Convert the pcib_{read,write}_config args from signed to unsigned,
like the args to the config space accessors these functions replaced.

This reduces the likelyhood of overflow when the args are used in
macros on the alpha.  This prevents memory management faults when
probing the pci bus on sables, multias and nonames.

Approved by: dfr
Tested by: Bernd Walter <ticso@cicely8.cicely.de>
2000-12-01 15:27:48 +00:00
Jonathan Lemon
280a27d267 Add PCI id for the RAID LC2 controller.
Pick up correct location for the DEC version of the chip, this
got broken in a previous commit.
2000-12-01 15:26:11 +00:00
Ruslan Ermilov
a3a04c4787 This page requires tbl(1). 2000-12-01 13:51:33 +00:00
David E. O'Brien
bddc60b42c Fix a "#ifdef" where a comparison operator was used.
GCC 2.96 does not like this.
2000-12-01 12:29:00 +00:00
Dag-Erling Smørgrav
b8b5f4629f Disconnect sysvipc, since it doesn't build. 2000-12-01 12:26:39 +00:00
Sheldon Hearn
52bb494f29 Catch up to perl-5.6.0. 2000-12-01 12:11:24 +00:00
Mike Smith
3a55bc5d5b Remove duplicate definition. 2000-12-01 12:10:06 +00:00
Mike Smith
96e38a0b8b Update local changes for new hardware register interface. 2000-12-01 12:09:18 +00:00
Chris D. Faulhaber
b673f44d6d Properly check malloc(3) return values
Approved by:	ken
2000-12-01 12:02:16 +00:00
Brian Somers
81bb1040b1 Add more comments, fix a typo, mention how to do PPPoUDP using encryption
to create a VPN.
2000-12-01 11:52:22 +00:00