Commit Graph

28760 Commits

Author SHA1 Message Date
jb
e9b0f7892b 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
a682e25b90 Sync with sys/i386/i386/trap.c revision 1.127. 1998-04-29 09:45:38 +00:00
jb
a3285d96fe Don't need wrappers for longjmp/setjmp anymore. 1998-04-29 09:40:51 +00:00
jb
c809fdbdc5 Remove empty files that were renamed some time ago. 1998-04-29 09:39:34 +00:00
jb
acbe1e4c91 Atomic lock source. 1998-04-29 09:36:03 +00:00
jb
5fe3d9fd50 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
jb
bed8d98d58 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
jb
68be02f38b 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
jb
57aa8c90ed Use signal() in both the threaded and non-threaded cases. 1998-04-29 09:06:13 +00:00
jb
f887444fbd 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
dyson
e9604671b4 Add a needed prototype, and fix a panic problem with the new
memory code.
1998-04-29 06:59:08 +00:00
max
8a25e42545 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
dyson
942dba65ce 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
b3d85561f4 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
ache
65de224429 Fix merge errors 1998-04-28 07:37:54 +00:00
ache
5876bb2aaa Upgrade to 2.2 1998-04-28 07:16:24 +00:00
dg
68b590047b Oops, revert part of a diff that wasn't supposed to have been committed. 1998-04-28 07:02:33 +00:00
dg
b258916809 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
ache
d9f0517f63 Merge local changes 1998-04-28 06:49:42 +00:00
ache
ae7104033d 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
ache
27ef633cd3 V2.2 import 1998-04-28 06:22:20 +00:00
dyson
4986f53e8f 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
bde
c64f204d20 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
imp
7f9a158a80 Use historically correct error message in some cases, optionally. 1998-04-28 05:08:10 +00:00
dg
18da8f9801 Set TCP_NODELAY on the control channel to improve performance a bit. 1998-04-28 03:37:23 +00:00
julian
c3aa1df517 Submitted by: Doug Ambrisko <ambrisko@whistle.com>
make standard links for the first detected sound card.
1998-04-28 00:10:53 +00:00
bde
8761852d6a 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
bde
d51799d460 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
des
7cd06934a4 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
des
ade45a9294 Fixed spelling of "fictitious" in diagnostics and comments
PR:		kern/6429
1998-04-27 11:36:06 +00:00
dg
5b2c685f2a 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
0d70d42e98 *** empty log message *** 1998-04-27 04:26:56 +00:00
brian
9b5ea096b8 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
des
6f2ba5fbe5 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
phk
359c6f530f say a few words about the -b option.
Reviewed by:	Bill Trost <trost@cloud.rain.com>
1998-04-26 18:15:38 +00:00
phk
95dbb94809 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
phk
9cdd81d5e1 Add pa=none to give a hint that they exist.
PR:		2368 (somewhat)
1998-04-26 17:28:26 +00:00
bde
dc8537950a 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
bde
906bdd2538 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
phk
18c0707128 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
jkh
d4e94fca44 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
jkh
eaa347349d Add the whatis database to catpages too 1998-04-26 08:34:26 +00:00
phk
7fb3aa582e 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
phk
94cad26368 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
phk
34e4d2ab89 fix ncal.1 grammar
PR:		6394
Reviewed by:	phk
Submitted by:	Josh Gilliam <josh@quick.net>
1998-04-26 06:21:29 +00:00
phk
911ff3ed6a 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
dyson
965bba7cf0 Add the PAT cpuid feature. 1998-04-26 03:18:38 +00:00
tegge
0554290a19 Don't clobber errno when reaping child processes. 1998-04-26 01:00:00 +00:00
hosokawa
91b26ae13a Keywords "iosize" and "memsize" are unused since 1.5. Removed. 1998-04-25 18:10:10 +00:00
hosokawa
0dfe9be10d #define'd KWD_XXX for keywords. 1998-04-25 17:52:15 +00:00