From: Daniel Borkmann <daniel@iogearbox.net>
To: Josh Hunt <johunt@akamai.com>
Cc: Thomas Graf <tgraf@suug.ch>,
Pablo Neira Ayuso <pablo@netfilter.org>,
Patrick McHardy <kaber@trash.net>,
netfilter-devel@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [PATCH 1/3] rhashtable: require max_shift definition
Date: Tue, 10 Feb 2015 18:06:39 +0100 [thread overview]
Message-ID: <54DA3A9F.9090608@iogearbox.net> (raw)
In-Reply-To: <54DA2A13.5010204@akamai.com>
On 02/10/2015 04:56 PM, Josh Hunt wrote:
> On 02/10/2015 02:30 AM, Daniel Borkmann wrote:
>> On 02/10/2015 01:58 AM, Thomas Graf wrote:
>>> On 02/09/15 at 07:48pm, Josh Hunt wrote:
>>>> if ((params->key_len && !params->hashfn) ||
>>>> - (!params->key_len && !params->obj_hashfn))
>>>> + (!params->key_len && !params->obj_hashfn) ||
>>>> + (!params->max_shift))
>>>> return -EINVAL;
>>>
>>> You can drop the parenthesis around the new max_shift check.
>>
>> Also, I think the test should be expanded to check if there's
>> a grow_decision given and only in that case require max_shift
>> to be non-zero, otherwise we would require users who don't
>> want to expand their table to give a upper expansion limit.
>
> This is a good point. I'll make this change.
>
> max_shift restricts the # of buckets, but should there be an optional parameter, maxelems, to set a ceiling on the # of elements in a table also? If not, I believe users will be able to add an "unlimited" # of entries to the existing buckets, whether or not a grow_decision fn is defined.
Hm, given that min_shift/max_shift are parameters that directly
concern internals of rhashtable i.e. are tightly coupled to expand
and shrink functionality, I'd say that depending on the use case,
a maxelem limit should rather be handled outside of it, if it's
truly an issue/concern.
next prev parent reply other threads:[~2015-02-10 17:06 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-10 0:48 [PATCH 0/3] nft hash set expansion fixes Josh Hunt
2015-02-10 0:48 ` [PATCH 1/3] rhashtable: require max_shift definition Josh Hunt
2015-02-10 0:58 ` Thomas Graf
2015-02-10 8:30 ` Daniel Borkmann
2015-02-10 15:56 ` Josh Hunt
2015-02-10 17:06 ` Daniel Borkmann [this message]
2015-02-10 17:22 ` Thomas Graf
2015-02-10 17:44 ` Patrick McHardy
2015-02-10 21:18 ` Josh Hunt
2015-02-10 0:48 ` [PATCH 2/3] nft_hash: define max_shift rhashtable param Josh Hunt
2015-02-10 0:48 ` [PATCH 3/3] nft_hash: introduce init_size set parameter Josh Hunt
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=54DA3A9F.9090608@iogearbox.net \
--to=daniel@iogearbox.net \
--cc=johunt@akamai.com \
--cc=kaber@trash.net \
--cc=netdev@vger.kernel.org \
--cc=netfilter-devel@vger.kernel.org \
--cc=pablo@netfilter.org \
--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).