freebsd-dev/sys
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
..
alpha Changed the aston() family to operate on a specified process instead of 2001-02-19 04:15:59 +00:00
amd64 Changed the aston() family to operate on a specified process instead of 2001-02-19 04:15:59 +00:00
arm/include Correct disordering which is corresponding to bde's fix to 2001-02-17 14:51:11 +00:00
boot Preceed/preceeding are not english words. Use precede or preceding. 2001-02-18 10:25:42 +00:00
cam 1. The key SSD_KEY_RECOVERED_ERROR is not an error at all and should 2001-02-11 23:46:54 +00:00
coda Mechanical change to use <sys/queue.h> macro API instead of 2001-02-04 13:13:25 +00:00
compat Allow debugging output to be controlled on a per-syscall granularity. 2001-02-16 16:40:43 +00:00
compile
conf "Fix" the machine/lock.h problem in modules depend with a sledge hammer. 2001-02-18 20:23:22 +00:00
contrib/dev Patch the reintroduced (~0 << 32) == 1 bug with a cryptic but functional 2001-02-02 08:31:50 +00:00
crypto Initial import of AES algorithm code (aka Rijndael) from KAME. 2000-10-30 11:03:32 +00:00
ddb Use macro API for <sys/queue.h> 2000-12-30 22:06:19 +00:00
dev Use ttymalloc() instead of roll-our-own. 2001-02-19 04:53:55 +00:00
fs Remove a debug printf. 2001-02-18 09:16:49 +00:00
geom Fix a braino in ccd's clone routine. 2001-01-29 06:18:14 +00:00
gnu Preceed/preceeding are not english words. Use precede or preceding. 2001-02-18 10:25:42 +00:00
i4b Preceed/preceeding are not english words. Use precede or preceding. 2001-02-18 10:25:42 +00:00
i386 Changed the aston() family to operate on a specified process instead of 2001-02-19 04:15:59 +00:00
ia64 Correct disordering which is corresponding to bde's fix to 2001-02-17 14:51:11 +00:00
isa Fixed style bugs in clock.c rev.1.164 and cpu.h rev.1.52-1.53 -- declare 2001-02-19 03:00:34 +00:00
isofs/cd9660 Add a hook for loading of a Unicode -> char conversion routine as a kld at a 2001-02-13 11:48:31 +00:00
kern Fixed a longstanding latency bug in signal delivery. When a signal 2001-02-19 09:40:58 +00:00
libkern RIP <machine/lock.h>. 2001-02-11 10:44:09 +00:00
miscfs Extend kqueue down to the device layer. 2001-02-15 16:34:11 +00:00
modules Add pc98 support. 2001-02-10 12:52:56 +00:00
msdosfs Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
net Insert entropy harvesting calls for network traffic. By 2001-02-18 17:54:52 +00:00
netatalk Mechanical change to use <sys/queue.h> macro API instead of 2001-02-04 13:13:25 +00:00
netatm Preceed/preceeding are not english words. Use precede and preceding. 2001-02-18 10:43:53 +00:00
netgraph Preceed/preceeding are not english words. Use precede and preceding. 2001-02-18 10:43:53 +00:00
netinet Switch to using a struct xucred instead of a struct xucred when not 2001-02-18 13:30:20 +00:00
netinet6 Switch to using a struct xucred instead of a struct xucred when not 2001-02-18 13:30:20 +00:00
netipx Another round of the <sys/queue.h> FOREACH transmogriffer. 2001-02-04 16:08:18 +00:00
netkey fixed possibility of panic at key_acquire(). 2001-01-14 17:25:08 +00:00
netnatm Mechanical change to use <sys/queue.h> macro API instead of 2001-02-04 13:13:25 +00:00
netncp Implement m_getm() which will perform an "all or nothing" mbuf + cluster 2001-02-14 05:13:04 +00:00
netns * Rename M_WAIT mbuf subsystem flag to M_TRYWAIT. 2000-12-21 21:44:31 +00:00
nfs Switch to using a struct xucred instead of a struct xucred when not 2001-02-18 13:30:20 +00:00
nfsclient Switch to using a struct xucred instead of a struct xucred when not 2001-02-18 13:30:20 +00:00
nfsserver Switch to using a struct xucred instead of a struct xucred when not 2001-02-18 13:30:20 +00:00
ntfs Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
nwfs Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
pc98 Preceed/preceeding are not english words. Use precede and preceding. 2001-02-18 10:43:53 +00:00
pccard Move ti1031 to the 16-bit bridge section 2001-02-07 01:16:40 +00:00
pci Preceed/preceeding are not english words. Use precede and preceding. 2001-02-18 10:43:53 +00:00
posix4 Implement a unified run queue and adjust priority levels accordingly. 2001-02-12 00:20:08 +00:00
powerpc Correct disordering which is corresponding to bde's fix to 2001-02-17 14:51:11 +00:00
rpc
svr4 This patchset fixes a large number of file descriptor race conditions. 2000-11-18 21:01:04 +00:00
sys Changed the aston() family to operate on a specified process instead of 2001-02-19 04:15:59 +00:00
tools Simplify this a bit so that it doesn't have to generate silly redundant 2000-12-06 06:59:38 +00:00
ufs Preceed/preceeding are not english words. Use precede and preceding. 2001-02-18 10:43:53 +00:00
vm Implement a unified run queue and adjust priority levels accordingly. 2001-02-12 00:20:08 +00:00
Makefile