freebsd-src/sys
Robert Watson c0b99ffa02 The socket field so_state is used to hold a variety of socket related
flags relating to several aspects of socket functionality.  This change
breaks out several bits relating to send and receive operation into a
new per-socket buffer field, sb_state, in order to facilitate locking.
This is required because, in order to provide more granular locking of
sockets, different state fields have different locking properties.  The
following fields are moved to sb_state:

  SS_CANTRCVMORE            (so_state)
  SS_CANTSENDMORE           (so_state)
  SS_RCVATMARK              (so_state)

Rename respectively to:

  SBS_CANTRCVMORE           (so_rcv.sb_state)
  SBS_CANTSENDMORE          (so_snd.sb_state)
  SBS_RCVATMARK             (so_rcv.sb_state)

This facilitates locking by isolating fields to be located with other
identically locked fields, and permits greater granularity in socket
locking by avoiding storing fields with different locking semantics in
the same short (avoiding locking conflicts).  In the future, we may
wish to coallesce sb_state and sb_flags; for the time being I leave
them separate and there is no additional memory overhead due to the
packing/alignment of shorts in the socket buffer structure.
2004-06-14 18:16:22 +00:00
..
alpha Remove an unused #include. 2004-06-12 06:03:27 +00:00
amd64 Introduce pmap locking to many of the pmap functions. There is more to 2004-06-14 01:17:50 +00:00
arm Remove filename+line number from panic messages. 2004-06-06 21:26:49 +00:00
boot Merge boot0 and boot0sio so they behave the same. 2004-06-11 09:45:18 +00:00
cam Reformat the comments for cam_hdr so that they can be read. 2004-06-07 19:12:44 +00:00
coda add missing #include <sys/module.h> 2004-05-30 20:27:19 +00:00
compat Add support for more linux ioctls. 2004-06-14 07:26:23 +00:00
conf Link ALTQ to the build and break with ABI for struct ifnet. Please recompile 2004-06-13 17:29:10 +00:00
contrib Remove some more leftover from the old pfaltq_module hack to allow for 2004-06-14 16:13:05 +00:00
crypto Use __FBSDID(). 2004-06-14 00:38:54 +00:00
ddb Fixed DDB_NOKLDSYM on amd64's: 2004-05-18 05:30:06 +00:00
dev Improve mapping of relative to absolute volume. 2004-06-14 15:01:16 +00:00
fs The socket field so_state is used to hold a variety of socket related 2004-06-14 18:16:22 +00:00
geom Don't free a VINUMDRIVE softc when it's orphaned or spoiled. All 2004-06-14 17:12:32 +00:00
gnu Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
i4b Link ALTQ to the build and break with ABI for struct ifnet. Please recompile 2004-06-13 17:29:10 +00:00
i386 Use the new API for acpi_MatchHid(). The difference between ACPI_HANDLE 2004-06-14 03:40:56 +00:00
ia64 Neither pmap_enter() nor pmap_enter_quick() should create pv entries for 2004-06-11 20:11:41 +00:00
isa Remove atdevbase and replace it's remaining uses with direct references to 2004-06-10 20:31:00 +00:00
isofs/cd9660 Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
kern The socket field so_state is used to hold a variety of socket related 2004-06-14 18:16:22 +00:00
libkern Import libkern arm specific bits. 2004-05-14 12:28:31 +00:00
modules Add a module directory for geom_vinum. 2004-06-12 21:18:40 +00:00
net Fix big-endian build. 2004-06-14 08:17:51 +00:00
net80211 Link ALTQ to the build and break with ABI for struct ifnet. Please recompile 2004-06-13 17:29:10 +00:00
netatalk Socket MAC labels so_label and so_peerlabel are now protected by 2004-06-13 02:50:07 +00:00
netatm The socket field so_state is used to hold a variety of socket related 2004-06-14 18:16:22 +00:00
netgraph The socket field so_state is used to hold a variety of socket related 2004-06-14 18:16:22 +00:00
netinet The socket field so_state is used to hold a variety of socket related 2004-06-14 18:16:22 +00:00
netinet6 Link ALTQ to the build and break with ABI for struct ifnet. Please recompile 2004-06-13 17:29:10 +00:00
netipsec use correct address for SADB_EXT_ADDRESS_DST in key_do_allocsa_policy 2004-05-03 05:15:53 +00:00
netipx The socket field so_state is used to hold a variety of socket related 2004-06-14 18:16:22 +00:00
netkey
netnatm Extend coverage of SOCK_LOCK(so) to include so_count, the socket 2004-06-12 20:47:32 +00:00
netncp add missing #include <sys/module.h> 2004-05-30 20:27:19 +00:00
netsmb The socket field so_state is used to hold a variety of socket related 2004-06-14 18:16:22 +00:00
nfs Remove advertising clause from University of California Regent's 2004-04-07 05:00:01 +00:00
nfs4client Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
nfsclient Make vm_page's PG_ZERO flag immutable between the time of the page's 2004-05-06 05:03:23 +00:00
nfsserver Giant wasn't dropped here if we have to return EBUSY. This is bad. 2004-05-31 20:21:06 +00:00
opencrypto add missing #include <sys/module.h> 2004-05-30 20:27:19 +00:00
pc98 Include vm/vm_param.h to pull in KERNBASE now. This should fix the 2004-06-13 20:17:44 +00:00
pccard
pci Use NG_FREE_MSG() instead of FREE(). 2004-06-13 17:15:05 +00:00
posix4
powerpc Remove checks for curthread == NULL - it can't happen. 2004-06-03 10:22:47 +00:00
rpc Remove advertising clause from University of California Regent's 2004-04-07 05:00:01 +00:00
security Socket MAC labels so_label and so_peerlabel are now protected by 2004-06-13 02:50:07 +00:00
sparc64 Add esp to the sparc64 GENERIC 2004-06-10 05:24:34 +00:00
sys The socket field so_state is used to hold a variety of socket related 2004-06-14 18:16:22 +00:00
tools devlist2h.awk is too generic a name for what it does. It really 2004-05-26 00:19:39 +00:00
ufs Avoid assignments to cast expressions. 2004-06-08 13:08:19 +00:00
vm Deorbit COMPAT_SUNOS. 2004-06-11 11:16:26 +00:00
Makefile Try harder not to compile anything in sys/boot for arm. 2004-05-16 00:19:12 +00:00