Robert Watson 1e4d7da707 Reduce the number of unnecessary unlock-relocks on socket buffer mutexes
associated with performing a wakeup on the socket buffer:

- When performing an sbappend*() followed by a so[rw]wakeup(), explicitly
  acquire the socket buffer lock and use the _locked() variants of both
  calls.  Note that the _locked() sowakeup() versions unlock the mutex on
  return.  This is done in uipc_send(), divert_packet(), mroute
  socket_send(), raw_append(), tcp_reass(), tcp_input(), and udp_append().

- When the socket buffer lock is dropped before a sowakeup(), remove the
  explicit unlock and use the _locked() sowakeup() variant.  This is done
  in soisdisconnecting(), soisdisconnected() when setting the can't send/
  receive flags and dropping data, and in uipc_rcvd() which adjusting
  back-pressure on the sockets.

For UNIX domain sockets running mpsafe with a contention-intensive SMP
mysql benchmark, this results in a 1.6% query rate improvement due to
reduce mutex costs.
2004-06-26 19:10:39 +00:00
..
2004-06-23 08:06:52 +00:00
2004-06-19 20:50:50 +00:00
2004-06-17 17:16:53 +00:00
2004-06-26 17:19:44 +00:00
2004-06-14 00:38:54 +00:00
2004-05-18 05:30:06 +00:00
2004-06-21 21:59:00 +00:00
2004-06-23 08:06:52 +00:00
2004-06-16 09:47:26 +00:00
2004-05-14 12:28:31 +00:00
2004-06-21 21:57:31 +00:00