freebsd-dev/sys
Attilio Rao 34ed040030 Actually, upcalls cannot be freed while destroying the thread because we
should call uma_zfree() with various spinlock helds.  Rearranging the
code would not help here because we cannot break atomicity respect
prcess spinlock, so the only one choice we have is to defer the operation.
In order to do this use a global queue synchronized through the kse_lock
spinlock which is freed at any thread_alloc() / thread_wait() through a
call to thread_reap().
Note that this approach is not ideal as we should want a per-process
list of zombie upcalls, but it follows initial guidelines of KSE authors.

Tested by: jkim, pav
Approved by: jeff, julian
Approved by: re
2007-07-27 09:21:18 +00:00
..
amd64 If the trap number stored in the trapframe is corrupted into a negative 2007-07-26 15:32:55 +00:00
arm The iop34x has 128 interrupts. 2007-06-16 15:03:33 +00:00
boot MFp4: 2007-07-13 14:27:05 +00:00
bsm Merge OpenBSM 1.0 alpha 15 changes to src/sys/bsm: 2007-07-22 12:28:13 +00:00
cam Do not forget to cam_periph_unhold the peripheral before exiting 2007-07-21 18:07:45 +00:00
cddl Update assertion after revision 1.23. 2007-07-24 15:00:43 +00:00
compat ndis will signal the kthread to exit and then sleep on the proc pointer to 2007-07-22 20:53:28 +00:00
conf Introduce Danny Braniss' iSCSI initiator, version 2.0.99. Please read the 2007-07-24 15:35:02 +00:00
contrib Update assertion after revision 1.23. 2007-07-24 15:00:43 +00:00
crypto Commit the change from FAST_IPSEC to IPSEC. The FAST_IPSEC 2007-07-03 12:13:45 +00:00
ddb Use FOREACH_PROC_IN_SYSTEM instead of using its unrolled form. 2007-01-17 15:05:52 +00:00
dev style(9) 2007-07-27 00:43:12 +00:00
fs When we do open, we should lock the vnode exclusively. This fixes few races: 2007-07-26 16:58:09 +00:00
gdb Add kdb_cpu_sync_icache(), intended to synchronize instruction 2007-06-09 21:55:17 +00:00
geom Have gpart synthesize a disk geometry if the underlying provider 2007-06-17 22:19:19 +00:00
gnu The last entry in the ext2_opts array must be NULL, 2007-07-14 21:18:19 +00:00
i4b I4B header files were repo-copied from sys/i386/include/ to 2007-07-06 07:17:22 +00:00
i386 If the trap number stored in the trapframe is corrupted into a negative 2007-07-26 15:32:55 +00:00
ia64 If clock_ct_to_ts fails to convert time time from the real time clock, 2007-07-23 09:42:32 +00:00
isa If clock_ct_to_ts fails to convert time time from the real time clock, 2007-07-23 09:42:32 +00:00
kern Actually, upcalls cannot be freed while destroying the thread because we 2007-07-27 09:21:18 +00:00
libkern Unbreak high resolution profiling a little: use dummy asms to prevent 2007-06-13 06:17:48 +00:00
modules Attach the iscsi module build. 2007-07-24 16:58:18 +00:00
net Avoid holding the softc lock when using copyout(). 2007-07-26 20:30:18 +00:00
net80211 In add_channel(), search 11g channels if mode is AUTO and corresponding 2007-07-20 11:38:12 +00:00
netatalk Mark wire data structures in netatalk as __packed so that they are 2007-06-28 12:54:58 +00:00
netatm Disconnect netatm from the build as it is not MPSAFE and relies on 2007-07-14 21:49:24 +00:00
netgraph Reduce stack usage by 256 bytes per call. It helps to avoid kernel 2007-07-26 18:15:02 +00:00
netinet Export the contents of the syncache to netstat. 2007-07-27 00:57:06 +00:00
netinet6 Continue effort to improve parity between UDPv4 and UDPv6: add a missing 2007-07-27 08:25:02 +00:00
netipsec Replace hard coded options by their defined PFIL_{IN,OUT} names. 2007-07-19 09:57:54 +00:00
netipx Include priv.h to pick up suser(9) definitions, missed in an earlier 2007-06-13 22:42:43 +00:00
netnatm s/destory/destroy/ (except for the code in contrib/). 2007-04-16 12:31:35 +00:00
netncp Commit 14/14 of sched_lock decomposition. 2007-06-05 00:00:57 +00:00
netsmb Fixing the mount_smbfs(8) hanging by utilising the destroy_dev_sched() KPI. 2007-07-10 09:23:10 +00:00
nfs
nfs4client - Move rusage from being per-process in struct pstats to per-thread in 2007-06-01 01:12:45 +00:00
nfsclient Fix for a race where out of order loading of NFS attrs into the 2007-07-03 18:31:47 +00:00
nfsserver Include priv.h to pick up suser(9) definitions, missed in an earlier 2007-06-13 22:42:43 +00:00
opencrypto Quiet warnings. These do not appear to be actually used uninitialized, 2007-07-05 06:59:14 +00:00
pc98 If clock_ct_to_ts fails to convert time time from the real time clock, 2007-07-23 09:42:32 +00:00
pccard
pci Add MSI support. 2007-07-24 01:24:03 +00:00
powerpc Cast the arguments to atomic_*_ptr() when mapping it to atomic_*_32() 2007-07-10 04:40:00 +00:00
rpc Check for a NULL return from rpcclnt_buildheader- it can fail if 2007-06-16 05:42:26 +00:00
security When checking labels during a vnode link operation in MLS, use the file 2007-07-23 13:28:54 +00:00
sparc64 If clock_ct_to_ts fails to convert time time from the real time clock, 2007-07-23 09:42:32 +00:00
sun4v Fix warning - add missing #include 2007-07-06 00:41:53 +00:00
sys Actually, upcalls cannot be freed while destroying the thread because we 2007-07-27 09:21:18 +00:00
tools Catch up with ACPI-CA 20070320 import. 2007-03-22 18:16:43 +00:00
ufs Perform range check before allocating memory when reading 2007-07-13 18:51:08 +00:00
vm When we do open, we should lock the vnode exclusively. This fixes few races: 2007-07-26 16:58:09 +00:00
Makefile Complete repo-copy and move of Coda from src/sys/coda to src/sys/fs/coda 2007-07-12 21:04:58 +00:00