Commit Graph

57031 Commits

Author SHA1 Message Date
Bruce Evans
d2ef4060d7 Fixed a longstanding latency bug in signal delivery. When a signal
is sent to a process, psignal() needs to schedule an AST for the
process if the process is runnable, not just if it is current, so that
pending signals get checked for on the next return of the process to
user mode.  This wasn't practical until recently because the AST flag
was per-cpu so setting it for a non-current process would usually just
cause a bogus AST for the current process.

For non-current processes looping in user mode, it took accidental
(?) magic to deliver signals at all.  Signals were usually delivered
late as a side effect of rescheduling (need_resched() sets astpending,
etc.).  In pre-SMPng, delivery was delayed by at most 1 quantum (the
need_resched() call in roundrobin() is certain to occur within 1
quantum for looping processes).  In -current, things are complicated
by normal interrupt handlers being threads.  Missing handling of the
complications makes roundrobin() a bogus no-op, but preemptive
scheduling sort of works anyway due to even larger bogons elsewhere.
2001-02-19 09:40:58 +00:00
Andrey A. Chernov
fa94f1388d Add 500.queuerun 2001-02-19 07:12:37 +00:00
Andrey A. Chernov
c80a91609d Deal properly with "0" 2001-02-19 06:19:51 +00:00
Peter Wemm
9fc8e61304 Use ttymalloc() instead of roll-our-own. 2001-02-19 04:53:55 +00:00
Peter Wemm
68f4fced95 ${BDECFLAGS} work. And fix a real error in the process. A "MAXUSERS"
string could have been passed to free();  There are some warnings here
I am not sure how to fix as they are in the lex scanner code, etc.
2001-02-19 04:43:21 +00:00
Bruce Evans
866546105a Changed the aston() family to operate on a specified process instead of
always on curproc.  This is needed to implement signal delivery properly
(see a future log message for kern_sig.c).

Debogotified the definition of aston().  aston() was defined in terms
of signotify() (perhaps because only the latter already operated on
a specified process), but aston() is the primitive.

Similar changes are needed in the ia64 versions of cpu.h and trap.c.
I didn't make them because the ia64 is missing the prerequisite changes
to make astpending and need_resched per-process and those changes are
too large to make without testing.
2001-02-19 04:15:59 +00:00
Archie Cobbs
30f6482c54 Slight improvement to previous checkin. 2001-02-19 04:06:30 +00:00
Archie Cobbs
78c8722845 Add an example showing how to configure a node from the command line. 2001-02-19 04:00:52 +00:00
Kris Kennaway
0937df81ca Introduce support for using OpenSSL ASM optimizations. This is done
through the use of a new build directive, MACHINE_CPU, which contains a
list of the CPU generations/features for which optimizations are desired.
This feature will be extended to cover the ports tree in the future.

Currently OpenSSL provides optimizations for i386, i586 and i686-class
CPUs. Currently it has not been tested on an i386 or i486.

Teach make(1) to provide sensible defaults for MACHINE_CPU if it is not
defined (namely, the lowest common denominator CPU we support for each
architecture).  Currently this is i386 for the i386 architecture and ev4
for the alpha.  sys.mk also sets the variable as a last resort for
consistency with MACHINE_ARCH and bootstrapping from very old versions of
make.

Benchmarks show a significant speed increase even in the i386 case, with
additional improvements for i586 and i686 systems.  For maximum performance
define MACHINE_CPU=i686 i586 i386 in /etc/make.conf.

Based on a patch submitted by:  Mike Silbersack <silby@silby.com>
Reviewed by:    current
2001-02-19 03:59:05 +00:00
Bruce Evans
12a586bbda Fixed style bugs in clock.c rev.1.164 and cpu.h rev.1.52-1.53 -- declare
tsc_present in the right places (together with other variables of the
same linkage), and don't use messy ifdefs just to avoid exporting it in
some cases.
2001-02-19 03:00:34 +00:00
Peter Wemm
6edba32695 Move the sendmail -q from cron to periodic, as suggested by a few people.
This has the benefit of adding a random start time element as daily
processing takes a different amount of time on different machines.
2001-02-19 02:47:42 +00:00
Peter Wemm
8d03543c79 Have yacc use a prototype for yygrowstack(void) on ANSI compilers.
This fixes a gcc warning with -Wmissing-prototypes.
2001-02-19 01:10:01 +00:00
Peter Wemm
357a8c727e Devices are NOT compiled with the "special c2 option -i".. 2001-02-18 22:42:15 +00:00
Peter Wemm
44cde775ae Be extra certain that "#include <osreldate.h>" must not be used in
kernel code.
2001-02-18 20:44:06 +00:00
Peter Wemm
146a90334d "Fix" the machine/lock.h problem in modules depend with a sledge hammer.
This forces bsd.dep.mk to rebuild the .depend file.
2001-02-18 20:23:22 +00:00
Mark Murray
09c114bad3 Document the entropy device.
If you want to know how to harvest network traffic and interrupts,
READ HERE!
2001-02-18 18:08:43 +00:00
Mark Murray
7547eefdf3 Set the interrupt-harvesting bit for those hardware items that I
can actually test.

Nothing will happen until the sysadmin turns on intr-harvesting
on her computer.
2001-02-18 18:02:15 +00:00
Mark Murray
10b1fde07f Insert entropy harvesting calls for network traffic. By
default, no entropy will be harvested.
2001-02-18 17:54:52 +00:00
Mark Murray
2564fe499d Allow the superuser to prefent all interrupt harvesting on
her system.
2001-02-18 17:47:55 +00:00
Mark Murray
14636c3b51 Provide the infrastructure for sysadmins to select the broad class
of entropy harvesting they wish to perform: "ethernet" (LAN),
point-to-point and interrupt.
2001-02-18 17:40:47 +00:00
Hajimu UMEMOTO
442aa310e6 Introduce $TAR_RSH to enable use of ssh as transport. 2001-02-18 17:30:29 +00:00
Seigo Tanimura
941afeb22d Encapselate midi_info, nmidi and nsynth into midi.c. 2001-02-18 15:58:56 +00:00
Brian Feldman
c0511d3b58 Switch to using a struct xucred instead of a struct xucred when not
actually in the kernel.  This structure is a different size than
what is currently in -CURRENT, but should hopefully be the last time
any application breakage is caused there.  As soon as any major
inconveniences are removed, the definition of the in-kernel struct
ucred should be conditionalized upon defined(_KERNEL).

This also changes struct export_args to remove dependency on the
constantly-changing struct ucred, as well as limiting the bounds
of the size fields to the correct size.  This means: a) mountd and
friends won't break all the time, b) mountd and friends won't crash
the kernel all the time if they don't know what they're doing wrt
actual struct export_args layout.

Reviewed by:	bde
2001-02-18 13:30:20 +00:00
Kris Kennaway
ffa3e13653 Zap LIBTCL, it's been superfluous for several years. 2001-02-18 11:58:54 +00:00
Andrzej Bialecki
9b8e7fe6cf Add yesstr/nostr. 2001-02-18 11:17:41 +00:00
Mark Murray
a28d666c49 Adjust columns for wide nicenesses in 'top -S'. 2001-02-18 11:08:47 +00:00
Jeroen Ruigrok van der Werven
d1d2ed0e78 Preceed/preceeding are not english words. Use precede and preceding.
Add $FreeBSD$.
2001-02-18 10:44:00 +00:00
Jeroen Ruigrok van der Werven
d7d97eb0aa Preceed/preceeding are not english words. Use precede and preceding. 2001-02-18 10:43:53 +00:00
Jeroen Ruigrok van der Werven
7c63796828 Preceed/preceeding are not english words. Use precede or preceding. 2001-02-18 10:25:42 +00:00
Jeroen Ruigrok van der Werven
d2a2c8cac9 Preceed/preceeding are not english words. Use precede or preceding.
Add $FreeBSD$.
2001-02-18 10:25:31 +00:00
Poul-Henning Kamp
90fcbbd635 Remove unneeded loop increment in src/sys/netinet/in_pcb.c:in_pcbnotify
Add new PRC_UNREACH_ADMIN_PROHIB in sys/sys/protosw.h

Remove condition on TCP in src/sys/netinet/ip_icmp.c:icmp_input

In src/sys/netinet/ip_icmp.c:icmp_input set code = PRC_UNREACH_ADMIN_PROHIB
or PRC_UNREACH_HOST for all unreachables except ICMP_UNREACH_NEEDFRAG

Rename sysctl icmp_admin_prohib_like_rst to icmp_unreach_like_rst
to reflect the fact that we also react on ICMP unreachables that
are not administrative prohibited.  Also update the comments to
reflect this.

In sys/netinet/tcp_subr.c:tcp_ctlinput add code to treat
PRC_UNREACH_ADMIN_PROHIB and PRC_UNREACH_HOST different.

PR:		23986
Submitted by:	Jesper Skriver <jesper@skriver.dk>
2001-02-18 09:34:55 +00:00
Poul-Henning Kamp
3e8bea9634 Remove a debug printf. 2001-02-18 09:16:49 +00:00
Poul-Henning Kamp
2f1ac13b0a Duh! forgot to add BSD_daemon to the mtree files.
Submitted by:	"Niels Chr. Bank-Pedersen" <ncbp@bank-pedersen.dk>
2001-02-18 08:18:44 +00:00
Luigi Rizzo
60846af2e6 Do not compile INET6 support if RELEASE_CRUNCH is defined
(used by install floppy/picobsd)
2001-02-18 07:28:31 +00:00
Luigi Rizzo
d88a358c86 Add a check in the interrupt service routine to return quickly in
case there is nothing to do. This happens normally when the card shares
the interrupt line with other devices.

This code saves a couple of microseconds per interrupt even on a
fast CPU. You normally would not care, except under heavy tinygram
traffic where you can have some 50-100.000 interrupts per second...

On passing, correct a spelling error.
2001-02-18 07:21:28 +00:00
Luigi Rizzo
c1b843c774 remove unused data structure definition, and corresponding macro into*() 2001-02-18 07:10:03 +00:00
Luigi Rizzo
a3ab0e4551 Enable command line editing in the shell 2001-02-18 06:54:07 +00:00
Andrey A. Chernov
96fc0cb8f8 Add hu_HU
Submitted by:	Szilveszter Adam <sziszi@petra.hos.u-szeged.hu>
2001-02-18 06:51:01 +00:00
Luigi Rizzo
b8c84b6286 Make correct entries for atapi disks 2001-02-18 06:50:40 +00:00
Luigi Rizzo
d486335f22 Make the right device entries for atapi disks 2001-02-18 06:48:25 +00:00
Luigi Rizzo
87483083e9 Bump version to 0.500 -- not that it means much, but at least
gives some idea on the age of the source used for the build.
2001-02-18 06:46:20 +00:00
Kris Kennaway
07cd02bf4e Silence -Wnon-const-format 2001-02-18 04:51:47 +00:00
David E. O'Brien
2e27b67bc5 Remove the parts of the patch that was committed to the XFree86 port. 2001-02-18 04:49:42 +00:00
Kris Kennaway
d7422f2f19 Back out snprintf -> sprintf change until I have time to look at it. 2001-02-18 04:07:50 +00:00
Kris Kennaway
b64f39b655 Resolve conflicts 2001-02-18 03:23:30 +00:00
Kris Kennaway
a991678294 This commit was generated by cvs2svn to compensate for changes in r72613,
which included commits to RCS files with non-trunk default branches.
2001-02-18 03:17:36 +00:00
Kris Kennaway
de7cdddab1 Import of OpenSSL 0.9.6-STABLE snapshot dated 2001-02-10 2001-02-18 03:17:36 +00:00
Bruce Evans
a25f057175 Added a dummy lookup vop. Specfs was broken by removing its dummy
lookup vop so that it defaulted to using vop_eopnotsupp for strange
lookups like the ones for open("/dev/null/", ...) and stat("/dev/null/",
...).  This mainly caused the wrong errno to be returned by vfs syscalls
(EOPNOTSUPP is not in POSIX, and is not documented in connection with
specfs in open.2 and is not documented in stat.2 at all).  Also, lookup
vops are apparently required to set *ap->a_vpp to NULL on error, but
vop_eopnotsupp is too broken to do this.
2001-02-18 02:22:58 +00:00
Kris Kennaway
83ac420321 120 seconds is not 3 minutes 2001-02-18 02:11:37 +00:00
Paul Saab
8e97fe726f Make ConnectionsPerPeriod non-fatal for real. 2001-02-18 01:33:31 +00:00