netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Miller <davem@davemloft.net>
To: dada1@cosmosbay.com
Cc: ak@suse.de, netdev@vger.kernel.org, acme@redhat.com, jarkao2@o2.pl
Subject: Re: [PATCH] INET : removes per bucket rwlock in tcp/dccp ehash table
Date: Wed, 07 Nov 2007 02:41:14 -0800 (PST)	[thread overview]
Message-ID: <20071107.024114.265595154.davem@davemloft.net> (raw)
In-Reply-To: <472DAD90.4050709@cosmosbay.com>

From: Eric Dumazet <dada1@cosmosbay.com>
Date: Sun, 04 Nov 2007 12:31:28 +0100

> [PATCH] INET : removes per bucket rwlock in tcp/dccp ehash table
> 
> 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). For netstat or ss commands that want a full scan of hash 
> table, we perform fewer memory accesses.
> 
> 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 num_possible_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 <dada1@cosmosbay.com>
> Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>

I'm going to push this current version to Linus, the space saving
really justify it and if we want to refine things further we do it
with followon work rather than blocking this patch.

Thanks Eric!

  parent reply	other threads:[~2007-11-07 10:41 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-01 10:16 [PATCH] INET : removes per bucket rwlock in tcp/dccp ehash table Eric Dumazet
2007-11-01 11:03 ` David Miller
2007-11-01 11:20   ` Arnaldo Carvalho de Melo
2007-11-01 11:15 ` Ilpo Järvinen
2007-11-01 16:06 ` Jarek Poplawski
2007-11-01 18:00   ` Eric Dumazet
2007-11-01 16:14 ` Stephen Hemminger
2007-11-01 17:54   ` Eric Dumazet
2007-11-01 18:48     ` Rick Jones
2007-11-01 19:00       ` Eric Dumazet
2007-11-01 19:17         ` Eric Dumazet
2007-11-01 21:52           ` David Miller
2007-11-01 21:46     ` David Miller
2007-11-03 23:18 ` Andi Kleen
2007-11-03 23:23   ` David Miller
2007-11-04  0:54     ` Andi Kleen
2007-11-04 11:31     ` Eric Dumazet
2007-11-04 12:26       ` Andi Kleen
2007-11-04 13:05         ` Eric Dumazet
2007-11-04 21:56         ` David Miller
2007-11-04 23:01           ` Andi Kleen
2007-11-05  4:24             ` David Miller
2007-11-05  4:35               ` David Miller
2007-11-04 17:58       ` Jarek Poplawski
2007-11-04 18:15         ` Jarek Poplawski
2007-11-04 21:23           ` Eric Dumazet
2007-11-04 23:08             ` Jarek Poplawski
2007-11-07 10:41       ` David Miller [this message]
2007-11-07 12:13         ` Jarek Poplawski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20071107.024114.265595154.davem@davemloft.net \
    --to=davem@davemloft.net \
    --cc=acme@redhat.com \
    --cc=ak@suse.de \
    --cc=dada1@cosmosbay.com \
    --cc=jarkao2@o2.pl \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).