Re: [PATCH] tcp: md5 signature check scaling

From: Stephen Hemminger
Date: Wed Oct 27 2010 - 11:56:11 EST


On Wed, 27 Oct 2010 16:52:30 +0400
Dmitry Popov <dp@xxxxxxxxxxxxxxx> wrote:

> From: Dmitry Popov <dp@xxxxxxxxxxxxxxx>
>
> TCP MD5 signature checking without socket lock.
>
> Each tcp_sock has 2 RCU-protected arrays (tcp[46]_md5sig_info) of
> tcp[46]_md5sig_key address-key pairs.
> Each key (tcp_md5sig_key) has kref struct so that there is no need to
> lock the whole array to work with one key.
>
> MD5 functions were rewritten according to above statement and hash
> check (tcp_v4_inbound_md5_hash) was moved before socket lock.
>
> Signed-off-by: Dmitry Popov <dp@xxxxxxxxxxxxxxx>

You traded locking for ref counting which may not be as big
a win as your think.

Also, the overhead of RCU here might impact tests that involve
lots of socket creation and destruction.

--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/