From: Thomas Graf <tgraf@suug.ch>
To: David Miller <davem@davemloft.net>
Cc: herbert@gondor.apana.org.au, eric.dumazet@gmail.com,
kaber@trash.net, josh@joshtriplett.org,
paulmck@linux.vnet.ibm.com, netdev@vger.kernel.org
Subject: Re: [v2 PATCH 7/10] rhashtable: Disable automatic shrinking
Date: Mon, 23 Mar 2015 22:13:38 +0000 [thread overview]
Message-ID: <20150323221338.GE20752@casper.infradead.org> (raw)
In-Reply-To: <20150323.124434.1526209682898584518.davem@davemloft.net>
On 03/23/15 at 12:44pm, David Miller wrote:
> From: Thomas Graf <tgraf@suug.ch>
> Date: Mon, 23 Mar 2015 08:33:19 +0000
>
> > I don't get why almost nobody would want shrinking. I agree that for
> > tables like TCP hash tables, once you have grown you want to keep that
> > table size because the load is likely to come back. But we will also
> > have lots of users such as the Netlink socket with a table per protocol
> > where not shrinking results in giving the user the ability to waste
> > memory indefinitely for no gain.
>
> The user can't do this with TCP? Why is netlink only susceptible?
You are right. Any table that doesn't shrink will eventually waste
memory. I used TCP vs Netlink because I believe it represents the
difference in priorities very well. TCP may go 0..1M flows within
a fraction of a second so if you've seen that many flows before you
might get hit again and you prioritize the "being ready" to handle it
higher than eventually wasting the memory indefinitely.
Whereas with Netlink it seems (glad to be proven wrong) that the
need for instant growth is lesser as it takes time to create 1M
sockets across many PIDs. So we gain something by releasing the
resources if not needed.
> The only plausible argument for shrinking I've ever heard of is the
> nft_hash case, and there that code can _explicitly_ ask for a shrink
> after it has made a major table modification.
>
> That puts all of the smarts for when to shrink where the knowledge
> resides, and in this case that's the user.
My argument pro automatic shrinking is simplicity. I'm absolutely
fine with disabling it by default and to require enabling it
explicitly.
next prev parent reply other threads:[~2015-03-23 22:13 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-22 8:03 [v2 PATCH 0/10] rhashtable: Multiple rehashing Herbert Xu
2015-03-22 8:03 ` [v2 PATCH 1/10] rhashtable: Add barrier to ensure we see new tables in walker Herbert Xu
2015-03-22 10:47 ` Thomas Graf
2015-03-22 8:04 ` [v2 PATCH 2/10] rhashtable: Eliminate unnecessary branch in rht_key_hashfn Herbert Xu
2015-03-22 11:07 ` Thomas Graf
2015-03-22 8:04 ` [v2 PATCH 3/10] rhashtable: Allow hashfn to be unset Herbert Xu
2015-03-22 11:55 ` Thomas Graf
2015-03-22 12:04 ` Herbert Xu
2015-03-22 12:32 ` Thomas Graf
2015-03-22 21:12 ` Herbert Xu
2015-03-23 9:58 ` Thomas Graf
2015-03-23 10:18 ` Herbert Xu
2015-03-23 14:29 ` David Laight
2015-03-22 8:04 ` [v2 PATCH 4/10] netlink: Use default rhashtable hashfn Herbert Xu
2015-03-22 11:55 ` Thomas Graf
2015-03-23 1:18 ` Simon Horman
2015-03-23 12:56 ` Herbert Xu
2015-03-22 8:04 ` [v2 PATCH 5/10] tipc: " Herbert Xu
2015-03-22 11:56 ` Thomas Graf
2015-03-22 8:04 ` [v2 PATCH 6/10] netfilter: " Herbert Xu
2015-03-22 11:56 ` Thomas Graf
2015-03-23 11:32 ` Herbert Xu
2015-03-22 8:04 ` [v2 PATCH 7/10] rhashtable: Disable automatic shrinking Herbert Xu
2015-03-22 12:17 ` Thomas Graf
2015-03-22 13:06 ` Thomas Graf
2015-03-23 0:07 ` Herbert Xu
2015-03-23 8:37 ` Thomas Graf
2015-03-23 9:29 ` Herbert Xu
2015-03-23 9:43 ` Thomas Graf
2015-03-23 0:09 ` Herbert Xu
2015-03-23 8:33 ` Thomas Graf
2015-03-23 9:28 ` Herbert Xu
2015-03-23 9:36 ` Thomas Graf
2015-03-23 9:39 ` Herbert Xu
2015-03-23 9:44 ` Herbert Xu
2015-03-23 10:08 ` Thomas Graf
2015-03-23 10:19 ` Herbert Xu
2015-03-23 16:45 ` David Miller
2015-03-23 16:44 ` David Miller
2015-03-23 21:48 ` Herbert Xu
2015-03-23 22:13 ` Thomas Graf [this message]
2015-03-22 8:04 ` [v2 PATCH 8/10] rhashtable: Add multiple rehash support Herbert Xu
2015-03-22 8:04 ` [v2 PATCH 9/10] rhashtable: Allow GFP_ATOMIC bucket table allocation Herbert Xu
2015-03-22 8:04 ` [v2 PATCH 10/10] rhashtable: Add immediate rehash during insertion Herbert Xu
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=20150323221338.GE20752@casper.infradead.org \
--to=tgraf@suug.ch \
--cc=davem@davemloft.net \
--cc=eric.dumazet@gmail.com \
--cc=herbert@gondor.apana.org.au \
--cc=josh@joshtriplett.org \
--cc=kaber@trash.net \
--cc=netdev@vger.kernel.org \
--cc=paulmck@linux.vnet.ibm.com \
/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).