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

From: "Arnaldo Carvalho de Melo" <[email-masked]>
Date: Thu, 1 Nov 2007 09:20:09 -0200

Em Thu, Nov 01, 2007 at 04:03:40AM -0700, David Miller escreveu:
> From: Eric Dumazet <[email-masked]>
> Date: Thu, 01 Nov 2007 11:16:20 +0100
> 
> > 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.
> > 
> > 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.
> > 
> > This patch provides some locking abstraction that may ease a future work using 
> >   a different model for TCP/DCCP table.
> > 
> > Signed-off-by: Eric Dumazet <[email-masked]>
> 
> Nice work Eric.
> 
> I've tossed this into my local tree and we'll let this cook
> for a few days.  If no problems crop up I will submit it
> for 2.6.24 because the memory savings is non-trivial.

Agreed, thanks!

Acked-by: Arnaldo Carvalho de Melo <[email-masked]>