[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4682523F.6000002@trash.net>
Date: Wed, 27 Jun 2007 14:04:15 +0200
From: Patrick McHardy <kaber@...sh.net>
To: Vasily Averin <vvs@...ru>
CC: netfilter-devel@...ts.netfilter.org, rusty@...tcorp.com.au,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Eric Dumazet <dada1@...mosbay.com>,
Jan Engelhardt <jengelh@...putergmbh.de>,
"David S. Miller" <davem@...emloft.net>, devel@...nvz.org
Subject: Re: [NETFILTER] early_drop() imrovement (v4)
Patrick McHardy wrote:
> Vasily Averin wrote:
>
>>When the number of conntracks is reached nf_conntrack_max limit, early_drop()
>>tries to free one of already used conntracks. If it does not find any conntracks
>>that may be freed, it leads to transmission errors.
>>In current implementation the conntracks are searched in one hash bucket only.
>>It have some drawbacks: if used hash bucket is empty we have not any chances to
>>find something. On the other hand the hash bucket can contain a huge number of
>>conntracks and its check can last a long time.
>>The proposed patch limits the number of checked conntracks and allows to search
>>conntracks in other hash buckets. As result in any case the search will have the
>>same chances to free one of the conntracks and the check will not lead to long
>>delays.
>
>
>
> Thanks Vasily. I have some patches queued to convert all conntrack
> hashes to hlists, which conflict with your patches. They need a bit
> more work, I'll integrate your changes on top of them once I'm done.
I've added this patch to my tree at
http://people.netfilter.org/kaber/nf-2.6.23.git/
I've joined the two loops from your patch since that avoids an
otherwise useless function and doesn't take the lock up to 8
times in a row.
View attachment "32.diff" of type "text/x-diff" (2794 bytes)
Powered by blists - more mailing lists