From: Patrick McHardy <kaber@trash.net>
To: Thomas Graf <tgraf@suug.ch>
Cc: David Laight <David.Laight@ACULAB.COM>,
"davem@davemloft.net" <davem@davemloft.net>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"herbert@gondor.apana.org.au" <herbert@gondor.apana.org.au>,
"paulmck@linux.vnet.ibm.com" <paulmck@linux.vnet.ibm.com>,
"edumazet@google.com" <edumazet@google.com>,
"john.r.fastabend@intel.com" <john.r.fastabend@intel.com>,
"josh@joshtriplett.org" <josh@joshtriplett.org>,
"netfilter-devel@vger.kernel.org"
<netfilter-devel@vger.kernel.org>
Subject: Re: [PATCH 7/9] rhashtable: Per bucket locks & deferred expansion/shrinking
Date: Sat, 17 Jan 2015 08:02:56 +0000 [thread overview]
Message-ID: <20150117080255.GA3968@acer.localdomain> (raw)
In-Reply-To: <20150116233414.GF20315@casper.infradead.org>
On 16.01, Thomas Graf wrote:
> On 01/16/15 at 10:07pm, Patrick McHardy wrote:
> > I'm afraid that's not good enough. The resize operation is deferred,
> > so even if userspace does not perform an operation after starting
> > the dump, the hash might change.
> >
> > We can obviously work around that by incrementing a generation
> > counter in rhashtable. The main problem I see is that with something
> > very actively changing the ruleset, we might never complete a dump.
>
> Right, I suggest adding a function pointer to rhashtable_params,
> which when set, is called on resize so users can bump their own
> sequence counter on resize.
>
> > Dumps are usually rare, I think its preferrable to defer rehashing.
>
> Resize operations should be *really* rare as well unless you start
> with really small hash table sizes and constantly add/remove at the
> watermark.
Which are far enough from each other that this should only happen
in really unlucky cases.
> Re-dumping on insert/remove is a different story of course. Do you
> care about missed insert/removals for dumps? If not we can do the
> sequence number consistency checking for resizing only.
No, that has always been undeterministic with netlink. We want to
dump everything that was present when the dump was started and is
still present when it finishes. Anything else can be handled using
notifications.
next prev parent reply other threads:[~2015-01-17 8:03 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cover.1418647641.git.tgraf@suug.ch>
2014-12-15 12:51 ` [PATCH 1/9] rhashtable: Do hashing inside of rhashtable_lookup_compare() Thomas Graf
2014-12-15 12:51 ` [PATCH 5/9] nft_hash: Remove rhashtable_remove_pprev() Thomas Graf
2014-12-15 12:51 ` [PATCH 7/9] rhashtable: Per bucket locks & deferred expansion/shrinking Thomas Graf
2015-01-16 15:34 ` Patrick McHardy
2015-01-16 15:58 ` Thomas Graf
2015-01-16 16:03 ` Patrick McHardy
2015-01-16 16:15 ` Thomas Graf
2015-01-16 16:32 ` Patrick McHardy
2015-01-16 16:38 ` Thomas Graf
2015-01-16 16:51 ` Patrick McHardy
2015-01-16 16:43 ` David Laight
2015-01-16 16:53 ` Thomas Graf
2015-01-16 18:36 ` Patrick McHardy
2015-01-16 19:18 ` Thomas Graf
2015-01-16 19:35 ` Patrick McHardy
2015-01-16 20:46 ` Pablo Neira Ayuso
2015-01-16 20:53 ` Patrick McHardy
2015-01-19 9:01 ` Paul E. McKenney
2015-01-21 5:23 ` Herbert Xu
2015-01-21 5:29 ` Paul E. McKenney
2015-01-21 5:30 ` Herbert Xu
2015-01-21 5:36 ` Paul E. McKenney
2015-01-16 20:49 ` Herbert Xu
2015-01-16 21:31 ` Patrick McHardy
2015-01-17 0:33 ` Herbert Xu
2015-01-17 8:06 ` Patrick McHardy
2015-01-17 9:32 ` Herbert Xu
2015-01-17 9:51 ` Patrick McHardy
2015-01-17 10:13 ` Herbert Xu
2015-01-17 11:56 ` Patrick McHardy
2015-01-16 21:36 ` Thomas Graf
2015-01-16 22:07 ` Patrick McHardy
2015-01-16 23:34 ` Thomas Graf
2015-01-17 8:02 ` Patrick McHardy [this message]
2015-01-19 12:58 ` Thomas Graf
2015-01-19 9:45 ` David Laight
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=20150117080255.GA3968@acer.localdomain \
--to=kaber@trash.net \
--cc=David.Laight@ACULAB.COM \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=herbert@gondor.apana.org.au \
--cc=john.r.fastabend@intel.com \
--cc=josh@joshtriplett.org \
--cc=netdev@vger.kernel.org \
--cc=netfilter-devel@vger.kernel.org \
--cc=paulmck@linux.vnet.ibm.com \
--cc=tgraf@suug.ch \
/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).