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
..
2003-06-11 00:56:59 +00:00
2003-06-11 00:56:59 +00:00
2003-06-11 00:56:59 +00:00
2003-06-11 00:56:59 +00:00
2004-06-17 17:16:53 +00:00
2003-06-11 00:56:59 +00:00
2004-05-03 22:54:46 +00:00
2003-06-11 00:56:59 +00:00
2004-06-11 11:16:26 +00:00
2003-06-11 00:56:59 +00:00
2004-06-21 22:34:57 +00:00
2004-06-11 11:16:26 +00:00
2003-06-11 00:56:59 +00:00
2003-06-11 06:34:30 +00:00
2003-06-11 06:34:30 +00:00
2003-06-11 00:56:59 +00:00
2003-06-11 00:56:59 +00:00
2003-06-11 00:56:59 +00:00
2004-04-12 23:02:21 +00:00
2004-02-17 10:21:03 +00:00
2004-03-31 08:20:44 +00:00
2003-06-11 00:56:59 +00:00
2004-05-30 20:34:58 +00:00
2004-05-30 20:34:58 +00:00
2004-06-17 17:16:53 +00:00
2004-06-25 22:10:20 +00:00
2004-06-17 17:16:53 +00:00
2004-05-30 20:34:58 +00:00
2004-06-17 17:16:53 +00:00
2004-06-17 17:16:53 +00:00