From mboxrd@z Thu Jan 1 00:00:00 1970 From: Patrick McHardy Subject: Re: 32 core net-next stack/netfilter "scaling" Date: Tue, 27 Jan 2009 10:15:14 +0100 Message-ID: <497ED0A2.6050707@trash.net> References: <497E361B.30909@hp.com> <497E42F4.7080201@cosmosbay.com> <497E44F6.2010703@hp.com> <497ECF84.1030308@cosmosbay.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Cc: Rick Jones , Linux Network Development list , Netfilter Developers , Stephen Hemminger To: Eric Dumazet Return-path: Received: from stinky.trash.net ([213.144.137.162]:65218 "EHLO stinky.trash.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753459AbZA0JPR (ORCPT ); Tue, 27 Jan 2009 04:15:17 -0500 In-Reply-To: <497ECF84.1030308@cosmosbay.com> Sender: netfilter-devel-owner@vger.kernel.org List-ID: Eric Dumazet wrote: > [PATCH] netfilter: Get rid of central rwlock in tcp conntracking > > TCP connection tracking suffers of huge contention on a global rwlock, > used to protect tcp conntracking state. > As each tcp conntrack state have no relations between each others, we > can switch to fine grained lock, using a spinlock per "struct ip_ct_tcp" > > tcp_print_conntrack() dont need to lock anything to read ct->proto.tcp.state, > so speedup /proc/net/ip_conntrack as well. Thats an interesting test-case, but one lock per conntrack just for TCP tracking seems like overkill. We're trying to keep the conntrack stuctures as small as possible, so I'd prefer an array of spinlocks or something like that.