Commit Graph

28203 Commits

Author SHA1 Message Date
John Birrell
4a027d50c7 Change signal model to match POSIX (i.e. one set of signal handlers
for the process, not a separate set for each thread). By default, the
process now only has signal handlers installed for SIGVTALRM, SIGINFO
and SIGCHLD. The thread kernel signal handler is installed for other
signals on demand. This means that SIG_IGN and SIG_DFL processing is now
left to the kernel, not the thread kernel.

Change the signal dispatch to no longer use a signal thread, and
call the signal handler using the stack of the thread that has the
signal pending.

Change the atomic lock method to use test-and-set asm code with
a yield if blocked. This introduces separate locks for each type
of object instead of blocking signals to prevent a context
switch. It was this blocking of signals that caused the performance
degradation the people have noted.

This is a *big* change!
1998-04-29 09:59:34 +00:00
KATO Takenori
ccf47cfced Sync with sys/i386/i386/trap.c revision 1.127. 1998-04-29 09:45:38 +00:00
John Birrell
312e185f9c Don't need wrappers for longjmp/setjmp anymore. 1998-04-29 09:40:51 +00:00
John Birrell
32664a7064 Remove empty files that were renamed some time ago. 1998-04-29 09:39:34 +00:00
John Birrell
1ce8c4dc49 Atomic lock source. 1998-04-29 09:36:03 +00:00
John Birrell
5178bcd1cf Stop renaming these in libc_r because wrappered versions don't make sense.
PR: i386/4826, bin/5953
1998-04-29 09:14:35 +00:00
John Birrell
72b42edfd4 Replace the threaded locking with spinlock calls for both threaded
and non-threaded programs. This makes malloc thread safe for linking
with libpthread and kernel threads.

Reviewed by: phk
1998-04-29 09:10:58 +00:00
John Birrell
96c76d66db Reference an external variable in threaded programs so that the
autoinitialiser gets linked in and therefore called before main().
1998-04-29 09:08:43 +00:00
John Birrell
7317e6b1fd Use signal() in both the threaded and non-threaded cases. 1998-04-29 09:06:13 +00:00
John Birrell
f0f62729ee Stubs are required in libc so that it can be used with libpthread
(and kernel threads), but weak symbols and non-weak symbols of the
same name built into libc_r result in unpredictable linking.
1998-04-29 09:02:16 +00:00
John Dyson
dda6b17151 Add a needed prototype, and fix a panic problem with the new
memory code.
1998-04-29 06:59:08 +00:00
Masafumi Max NAKANE
666cf86d3f Add "flags 0x10" to the sio0 entry so that SMP-GENERIC acts in thesame
manner as the GENERIC kernel to the -h option.
1998-04-29 06:58:43 +00:00
John Dyson
c0877f103f Tighten up management of memory and swap space during map allocation,
deallocation cycles.  This should provide a measurable improvement
on swap and memory allocation on loaded systems.  It is unlikely a
complete solution.  Also, provide more map info with procfs.
Chuck Cranor spurred on this improvement.
1998-04-29 04:28:22 +00:00
Eivind Eklund
288078be0f Translate T_PROTFLT to SIGSEGV instead of SIGBUS when running under
Linux emulation.  This make Allegro Common Lisp 4.3 work under
FreeBSD!

Submitted by: Fred Gilham <gilham@csl.sri.com>
Commented on by: bde, dg, msmith, tg
Hoping he got everything right:  eivind
1998-04-28 18:15:08 +00:00
Andrey A. Chernov
71358584f3 Fix merge errors 1998-04-28 07:37:54 +00:00
Andrey A. Chernov
70fedb5298 Upgrade to 2.2 1998-04-28 07:16:24 +00:00
David Greenman
ec3a3b4594 Oops, revert part of a diff that wasn't supposed to have been committed. 1998-04-28 07:02:33 +00:00
David Greenman
214bed53a2 Cache the results of the ps_strings sysctl so that it doesn't have to be
redone for every call of setproctitle().
1998-04-28 06:59:14 +00:00
Andrey A. Chernov
49772d6129 Merge local changes 1998-04-28 06:49:42 +00:00
Andrey A. Chernov
d3bbabc05a This commit was generated by cvs2svn to compensate for changes in r35486,
which included commits to RCS files with non-trunk default branches.
1998-04-28 06:22:20 +00:00
Andrey A. Chernov
91d01d1fdf V2.2 import 1998-04-28 06:22:20 +00:00
John Dyson
2dbea5d2e3 Fix a pseudo-swap leak problem. This mitigates "leaks" due to
freeing partial objects, not freeing entire objects didn't
free any of it.  Simple fix to the map code.
Reviewed by:	dg
1998-04-28 05:54:47 +00:00
Bruce Evans
607b5242b2 Fixed syntax error for `make checkdpadd'. libfl.a should never be
used.  ${LIBFL} is set to a weird value in an attempt to inhibit
its use, but only breaks properly in some contexts.

Fixed the usual style bugs for DPADD and LDADD (disorder, and += for the
initial assignment).
1998-04-28 05:31:41 +00:00
Warner Losh
3a42f937f1 Use historically correct error message in some cases, optionally. 1998-04-28 05:08:10 +00:00
David Greenman
dadb9fb334 Set TCP_NODELAY on the control channel to improve performance a bit. 1998-04-28 03:37:23 +00:00
Julian Elischer
21a56c939e Submitted by: Doug Ambrisko <ambrisko@whistle.com>
make standard links for the first detected sound card.
1998-04-28 00:10:53 +00:00
Bruce Evans
1c9df6b435 Don't build dependencies unless NOCLEAN is set. This speeds up
`make world' by about 14% here (down to 4490 seconds real on a
K6/233).  Temporarily skip this optimization when building with
-j, since there are still many broken makefiles.

Fixed NOCLEANDIR option.  Cleaning of `.depend' was broken.

Put -nostdinc in CFLAGS, not in CC, and don't override the default
CC.  This fixes enforcing use of ${WORLDTMP}/usr/include.

Don't install library man pages in ${WORLDTMP}.
1998-04-27 16:21:33 +00:00
Bruce Evans
55137cdb87 Don't include ../Makefile.inc here. bsd.man.mk is always included
in another .mk file which has already included ../Makefile.inc, so
including ../Makefike.inc again mainly messed up `+=' definitions.
1998-04-27 15:08:07 +00:00
Dag-Erling Smørgrav
bf69d84c0a Cast return values to the appropriate fp_*_t. Note that the man page
incorrectly refers to them as e.g. fp_except rather than fp_except_t.

PR:		misc/6310
Submitted by:	Niall Smart
1998-04-27 14:17:30 +00:00
Dag-Erling Smørgrav
8fc5e57330 Fixed spelling of "fictitious" in diagnostics and comments
PR:		kern/6429
1998-04-27 11:36:06 +00:00
David Greenman
b81d7e37bb Fixed a bug where if MAXUSRARGS amount of args were passed in, the argv[]
array would end up without the NULL pointer termination, causing the glob
code to glob whatever garbage happend to follow on the stack.
1998-04-27 10:51:26 +00:00
Peter Wemm
30bdeb1201 *** empty log message *** 1998-04-27 04:26:56 +00:00
Brian Somers
5417a1a44a Support more than 256 tun devices:
$ ls -l /dev/tun25[4-7]
crw-------  1 fax  dialer   52, 254 Apr 27 02:27 /dev/tun254
crw-------  1 fax  dialer   52, 255 Apr 27 02:27 /dev/tun255
crw-------  1 fax  dialer   52, 0x00010000 Apr 27 02:31 /dev/tun256
crw-------  1 fax  dialer   52, 0x00010001 Apr 27 02:31 /dev/tun257
1998-04-27 01:44:22 +00:00
Dag-Erling Smørgrav
574a97f5ce Check that user really typed "who am {I,i}", and that no stray
arguments are given.
Note that usage() and the manpage disagree...

PR:		bin/6294
Suggested by:	Ruslan Ermilov and Bruce Evans
Submitted by:	Ruslan Ermilov (partly)
1998-04-26 19:10:51 +00:00
Poul-Henning Kamp
862a7e9c36 say a few words about the -b option.
Reviewed by:	Bill Trost <trost@cloud.rain.com>
1998-04-26 18:15:38 +00:00
Poul-Henning Kamp
e72f5a72fd Add warning about root-fs blocksize expectations.
PR:		4485
Reviewed by:	phk
Submitted by:	Kees Jan Koster <kjk1@ukc.ac.uk>
1998-04-26 17:44:23 +00:00
Poul-Henning Kamp
f7c2aef79b Add pa=none to give a hint that they exist.
PR:		2368 (somewhat)
1998-04-26 17:28:26 +00:00
Bruce Evans
22450dd8c1 Fixed `make -j9' by putting generated headers in ${SRCS}. Removed bogus
dependencies of generated .c files on generated headers (these made
`make -JN' work provided `depend' was made first).  Sorted sources lists.
1998-04-26 16:31:14 +00:00
Bruce Evans
cddfa6c981 Backed out most of rev.1.19 (explicit dependencies of object files
on generated headers).  This is now handled generally in bsd.prog.mk.
1998-04-26 16:12:23 +00:00
Poul-Henning Kamp
64400b18cc When all transformation rules to or from a suffix disappeared, make tries
to free the suffix. I think, it is a very strange idea. (Or, maybe, it is a
POSIX requirement?) And it is done incorrectly. Apparently, it even don't
update the list of known suffixes (but it is an other bug).

PR:		4254, 4692, 4783
Reviewed by:	phk
Submitted by:	Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru>
1998-04-26 09:44:48 +00:00
Jordan K. Hubbard
29c03682fa Use more reasonable defaults for SUP variables (and print them
correctly) now that sup is long since dead and buried.
1998-04-26 08:40:25 +00:00
Jordan K. Hubbard
0fc8576085 Add the whatis database to catpages too 1998-04-26 08:34:26 +00:00
Poul-Henning Kamp
5708bd4228 telnetd does not recognize the if (display file before login) gettytab flag.
PR:		6365
Reviewed by:	phk
Submitted by:	Jason Garman <init@risen.org>
1998-04-26 06:51:36 +00:00
Poul-Henning Kamp
4cb3dec38f Jean-Simon Pendry's paper on amd refers to the use of "ypcat -k"
against the "master map" to get the list of mount point/amd map
correspondences, and using that list as command-line arguments to start
amd.

When I tried to do this with the existing /etc/rc* scripts, I found that
I couldn't do this by modifying only /etc/rc.conf:  that file gets
sourced very early by /etc/rc, well before any networking functionality
is present, let alone NIS.  Further, I wasn't able to figure out a way
to use various levels & types of quoting to defer evaluation of the
string to a point subsequent to NIS initialization.

As a result, I resorted to hacking /etc/rc.network -- but I did it in a
way that ought to be reasonably general, and avoid breakage for anyone
else.

PR:		6387
Reviewed by:	phk
Submitted by:	David Wolfskill <dhw@whistle.com>
1998-04-26 06:32:13 +00:00
Poul-Henning Kamp
f24a941b31 fix ncal.1 grammar
PR:		6394
Reviewed by:	phk
Submitted by:	Josh Gilliam <josh@quick.net>
1998-04-26 06:21:29 +00:00
Poul-Henning Kamp
b37727fff9 sigprocmask()' man page references sigmask()' in synopsis.
Note odd `sigmask()' line in synopsis.  `sigsetops(3)' is better suited
for `sigprocmask' and is already referenced from the manual page.
(`sigmask()' is useful for the older (& deprecated) `sigsetmask()' API).
PR:		6395
Reviewed by:	phk
Submitted by:	Joseph Koshy <koshy@india.hp.com>
1998-04-26 06:19:24 +00:00
John Dyson
e8f1b8b02a Add the PAT cpuid feature. 1998-04-26 03:18:38 +00:00
Tor Egge
dae3e4e603 Don't clobber errno when reaping child processes. 1998-04-26 01:00:00 +00:00
Tatsumi Hosokawa
9b473222be Keywords "iosize" and "memsize" are unused since 1.5. Removed. 1998-04-25 18:10:10 +00:00
Tatsumi Hosokawa
af5311ffe2 #define'd KWD_XXX for keywords. 1998-04-25 17:52:15 +00:00