From: "David S. Miller" <davem@davemloft.net>
To: Robin Holt <holt@sgi.com>
Cc: holt@sgi.com, yoshfuji@linux-ipv6.org, akpm@osdl.org,
hirofumi@parknet.co.jp, torvalds@osdl.org, dipankar@ibm.com,
laforge@gnumonks.org, bunk@stusta.de, herbert@apana.org.au,
paulmck@ibm.com, netdev@oss.sgi.com,
linux-kernel@vger.kernel.org, gnb@sgi.com
Subject: Re: [RFC] Limit the size of the IPV4 route hash.
Date: Fri, 10 Dec 2004 13:06:34 -0800 [thread overview]
Message-ID: <20041210130634.251c46f9.davem@davemloft.net> (raw)
In-Reply-To: <20041210210006.GB23222@lnx-holt.americas.sgi.com>
On Fri, 10 Dec 2004 15:00:06 -0600
Robin Holt <holt@sgi.com> wrote:
> > Also, 1 page even in your case is (assuming you are on a 64-bit platform,
> > you didn't mention) going to give us 1024 hash chains. A reasonably
> > busy web server will easily be talking to more than 1K unique hosts at
> > a given point in time. This is especially true as slow long distance
> > connections bunch up.
>
> But 1k hosts is not the limit with a 16k page. There are 1k buckets,
> but each is a list. A reasonably well designed hash will scale to greater
> than one item per bucket. Additionally, for the small percentage of web
> servers with enough network traffic that they will be affected by the
> depth of the entries, they can set rhash_entries for their specific needs.
We want to aim for a depth of 1 in each chain, so that, assuming the
hash is decent, we'll achieve O(1) lookup complexity. That is why we
want the number of chains to be at least as large as the number of
active routing cache entries we'll work with.
> I realize I have a special case which highlighted the problem. My case
> shows that not putting an upper limit or at least a drastically aggressive
> non-linear growth cap does cause issues. For the really large system,
> we were seeing a size of 512MB for the hash which was limited because
> that was the largest amount of memory available on a single node.
That's true, 512MB is just too much. So let's define some reasonable
default cap like 16MB or 32MB, and as current it is overridable via
rhash_entries.
next prev parent reply other threads:[~2004-12-10 21:06 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-12-10 19:00 [RFC] Limit the size of the IPV4 route hash Robin Holt
2004-12-10 19:48 ` David S. Miller
2004-12-10 21:00 ` Robin Holt
2004-12-10 21:06 ` David S. Miller [this message]
2004-12-10 21:09 ` Andrew Morton
2004-12-10 23:27 ` Robin Holt
2004-12-10 23:38 ` Andrew Morton
2004-12-10 23:37 ` Robin Holt
2004-12-10 23:40 ` Robin Holt
2004-12-13 0:55 ` David S. Miller
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=20041210130634.251c46f9.davem@davemloft.net \
--to=davem@davemloft.net \
--cc=akpm@osdl.org \
--cc=bunk@stusta.de \
--cc=dipankar@ibm.com \
--cc=gnb@sgi.com \
--cc=herbert@apana.org.au \
--cc=hirofumi@parknet.co.jp \
--cc=holt@sgi.com \
--cc=laforge@gnumonks.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@oss.sgi.com \
--cc=paulmck@ibm.com \
--cc=torvalds@osdl.org \
--cc=yoshfuji@linux-ipv6.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).