freebsd-skq/sys/fs
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
..
cd9660 Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
coda add missing #include <sys/module.h> 2004-05-30 20:27:19 +00:00
deadfs Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
devfs Report the correct length for symlink entries. 2004-02-19 19:09:52 +00:00
fdescfs Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
fifofs The socket field so_state is used to hold a variety of socket related 2004-06-14 18:16:22 +00:00
hpfs Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
msdosfs Don't reject FAT file systems with a number of "Heads" greater than 2004-03-14 23:28:12 +00:00
ntfs Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
nullfs Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
nwfs Make vm_page's PG_ZERO flag immutable between the time of the page's 2004-05-06 05:03:23 +00:00
portalfs Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
procfs Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
pseudofs When taking event callbacks (like process_exit) out from under Giant, those 2004-03-14 15:57:45 +00:00
smbfs Make vm_page's PG_ZERO flag immutable between the time of the page's 2004-05-06 05:03:23 +00:00
specfs Make vm_page's PG_ZERO flag immutable between the time of the page's 2004-05-06 05:03:23 +00:00
udf Catch all cases where bread() returns an error and a valid *bp, and release 2004-03-30 05:01:48 +00:00
umapfs Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
unionfs Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00