Subject: Re: [PATCH] INET : removes per bucket rwlock in tcp/dccp ehash table

From: Rick Jones <[email-masked]>
Date: Thu, 01 Nov 2007 11:48:42 -0700

Eric Dumazet wrote:
> Stephen Hemminger a écrit :
> 
>> On Thu, 01 Nov 2007 11:16:20 +0100
>> Eric Dumazet <[email-masked]> wrote:
>>
>>> As done two years ago on IP route cache table (commit 
>>> 22c047ccbc68fa8f3fa57f0e8f906479a062c426) , we can avoid using one 
>>> lock per hash bucket for the huge TCP/DCCP hash tables.

The TCP hashes are looked at with higher frequency than the route cache yes?

>>> On a typical x86_64 platform, this saves about 2MB or 4MB of ram, for 
>>> litle performance differences. (we hit a different cache line for the 
>>> rwlock, but then the bucket cache line have a better sharing factor 
>>> among cpus, since we dirty it less often)
>>>
>>> Using a 'small' table of hashed rwlocks should be more than enough to 
>>> provide correct SMP concurrency between different buckets, without 
>>> using too much memory. Sizing of this table depends on NR_CPUS and 
>>> various CONFIG settings.

Something is telling me finding a 64 core system with a suitable workload to try 
this could be a good thing.  Wish I had one at my disposal.

rick jones