Re: [PATCH] tcp: md5 signature check scaling

From: Eric Dumazet
Date: Wed Oct 27 2010 - 09:00:22 EST


Le mercredi 27 octobre 2010 Ã 16:52 +0400, Dmitry Popov a Ãcrit :
> 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>
> ---
> include/linux/tcp.h | 14 ++-
> include/net/tcp.h | 82 +++++++----
> net/ipv4/tcp_ipv4.c | 370 ++++++++++++++++++++++++++++------------------
> net/ipv4/tcp_minisocks.c | 26 +--
> net/ipv4/tcp_output.c | 12 +-
> net/ipv6/tcp_ipv6.c | 358 +++++++++++++++++++++++++++-----------------
> 6 files changed, 531 insertions(+), 331 deletions(-)

This is a huge patch :(

Reading changelog, I dont understand what you did, and why you did this.

You want to avoid taking the socket lock ? But we need to take it anyway
to process packets.



--
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/