[AF_UNIX]: Remove superfluous reference counting in unix_stream_sendmsg
authorBenjamin LaHaise <benjamin.c.lahaise@intel.com>
Wed, 14 Dec 2005 07:22:32 +0000 (23:22 -0800)
committerDavid S. Miller <davem@sunset.davemloft.net>
Tue, 3 Jan 2006 21:10:45 +0000 (13:10 -0800)
commit830a1e5c212fb3fdc83b66359c780c3b3a294897
tree232215af3774d78aa179adb1612bfa5257af181d
parentc1cbe4b7ad0bc4b1d98ea708a3fecb7362aa4088
[AF_UNIX]: Remove superfluous reference counting in unix_stream_sendmsg

AF_UNIX stream socket performance on P4 CPUs tends to suffer due to a
lot of pipeline flushes from atomic operations.  The patch below
removes the sock_hold() and sock_put() in unix_stream_sendmsg().  This
should be safe as the socket still holds a reference to its peer which
is only released after the file descriptor's final user invokes
unix_release_sock().  The only consideration is that we must add a
memory barrier before setting the peer initially.

Signed-off-by: Benjamin LaHaise <benjamin.c.lahaise@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/unix/af_unix.c