freebsd-skq/sys
Robert Watson 1c1ce9253f Push acquisition of Giant from fdrop_closed() into fo_close() so that
individual file object implementations can optionally acquire Giant if
they require it:

- soo_close(): depends on debug.mpsafenet
- pipe_close(): Giant not acquired
- kqueue_close(): Giant required
- vn_close(): Giant required
- cryptof_close(): Giant required (conservative)

Notes:

  Giant is still acquired in close() even when closing MPSAFE objects
  due to kqueue requiring Giant in the calling closef() code.
  Microbenchmarks indicate that this removal of Giant cuts 3%-3% off
  of pipe create/destroy pairs from user space with SMP compiled into
  the kernel.

  The cryptodev and opencrypto code appears MPSAFE, but I'm unable to
  test it extensively and so have left Giant over fo_close().  It can
  probably be removed given some testing and review.
2004-07-22 18:35:43 +00:00
..
alpha Unify db_stack_trace_cmd(). All it did was look up the thread given 2004-07-21 05:07:09 +00:00
amd64 Unify db_stack_trace_cmd(). All it did was look up the thread given 2004-07-21 05:07:09 +00:00
arm Do not declare curpcb. 2004-07-21 22:04:32 +00:00
boot o Support the REL32LSB relocation. It's in the ELF file from which 2004-07-20 07:11:14 +00:00
cam Quirk for SEGRAND NP-900 USB MP3Player 2004-07-18 05:39:14 +00:00
coda Do a pass over all modules in the kernel and make them return EOPNOTSUPP 2004-07-15 08:26:07 +00:00
compat *sigh* Fix source code compatibility with 5.2.1-RELEASE _again_. 2004-07-20 20:28:57 +00:00
conf Add the ACPI Panasonic extras driver. 2004-07-21 14:47:54 +00:00
contrib Fix a stupid attemp to apply host arithmetics to network byte ordered data. 2004-07-18 14:25:48 +00:00
crypto
ddb Oops... Add the CS_OWN flag to the trace and where commands so that 2004-07-21 05:55:51 +00:00
dev Update comment about fast interrupts to be closer to reality 2004-07-22 07:44:10 +00:00
doc
fs In devfs_allocv(), rather than assigning 'td = curthread', assert that 2004-07-22 17:03:14 +00:00
gdb
geom MFp4: Add two options for gnop(8)'s 'create' command: 2004-07-19 07:52:56 +00:00
gnu
i4b Fix a possible hang which apparently occurs during a warm boot (cold boot 2004-07-18 20:13:31 +00:00
i386 Arg! Revert local changes that were accidentlly included in the previous 2004-07-22 15:55:03 +00:00
ia64 In pmap_mincore() create a private copy of the pte for use after the pmap 2004-07-22 02:05:46 +00:00
isa Ignore more strange return values of the test_aux_port() function, 2004-07-16 22:04:29 +00:00
isofs/cd9660
kern Push acquisition of Giant from fdrop_closed() into fo_close() so that 2004-07-22 18:35:43 +00:00
libkern Copy qsort_r(3) from libc to libkern. 2004-07-15 23:58:23 +00:00
modules Add the ACPI Panasonic extras driver. 2004-07-21 14:47:54 +00:00
net When removing the last reference to a cloner, do not try to unlock twice - 2004-07-20 21:44:28 +00:00
net80211
netatalk Further function forward declaration white space tweaks. 2004-07-19 17:18:58 +00:00
netatm Fix a typo that could provoke a panic or access to random memory. 2004-07-19 12:54:00 +00:00
netgraph Slight cosmetic changes. 2004-07-20 17:15:38 +00:00
netinet Extend versrcreach by checking against the rt_flags for RTF_REJECT and 2004-07-21 19:55:14 +00:00
netinet6 Do a pass over all modules in the kernel and make them return EOPNOTSUPP 2004-07-15 08:26:07 +00:00
netipsec
netipx Constify 'spx_backoff'. 2004-07-12 19:35:29 +00:00
netkey
netnatm
netncp
netsmb
nfs
nfs4client
nfsclient Turn off SO_REUSEADDR and SO_REUSEPORT, they were causing EADDRINUSE 2004-07-13 05:42:59 +00:00
nfsserver Do a pass over all modules in the kernel and make them return EOPNOTSUPP 2004-07-15 08:26:07 +00:00
opencrypto Push acquisition of Giant from fdrop_closed() into fo_close() so that 2004-07-22 18:35:43 +00:00
pc98 MFi386: revision 1.596. 2004-07-19 11:17:57 +00:00
pccard
pci
posix4
powerpc Update the callframe structure to leave space for the frame pointer 2004-07-22 01:28:51 +00:00
rpc fix array index out of bounds in rpc->rc_srtt[], rpc->rc_sdrtt[] 2004-07-15 22:21:25 +00:00
security Rename Biba and MLS _single label elements to _effective, which more 2004-07-16 02:03:50 +00:00
sparc64 Unify db_stack_trace_cmd(). All it did was look up the thread given 2004-07-21 05:07:09 +00:00
sys Add a macro, __pure, which expands to __attribute__((__pure__)) on gcc 2004-07-22 09:20:51 +00:00
tools
ufs Make sure to update the mnt_stats before UFS1 extattr tried to 2004-07-14 14:19:32 +00:00
vm Fix a race in vm_page_sleep_if_busy(). Due to vm_object locking 2004-07-21 23:56:09 +00:00
Makefile