Re: [RFC PATCH net-next 0/3 V4] net-tcp: TCP/IP stack bypass for loopback connections
flat view
From: Weiping Pan <hidden>
Date: 2012-12-12 14:13:01
On 12/11/2012 05:02 AM, David Miller wrote:
From: Weiping Pan<redacted> Date: Wed, 5 Dec 2012 10:54:16 +0800quoted
Friends VS AF__UNIX Their call path are almost the same, but AF_UNIX uses its own send/recv codes with proper locks, so AF_UNIX's performance is much better than Friends.
Sorry, this statement is not correct. In TCP_STREAM case, if the message size if 16384, then AF_UNIX is much better than Friends. If the message size is smaller, then Friends shows equal performance with AF_UNIX. In TCP_RR, Friends shows equal performance with AF_UNIX, too.
While I understand the other portions of your analysis, this one mystifies me. In both cases, the sender has to queue the SKB onto the receiver's queue. And in both cases, the sender takes the lock on that queue. So the locking contention really ought to be similar if not identical. The only difference is that AF_UNIX takes the unix_sk()->lock of the remote socket around these operations. If that is enough of a synchronizer to "fix" the contention or reduce it, then this would be very easy to test by adding a friend lock to tcp_sk().
I make some experiments to reduce the use of lock, some performance results will be followed up. thanks Weiping Pan
-- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html