From: "'tgraf@suug.ch'" <tgraf@suug.ch>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: David Laight <David.Laight@ACULAB.COM>,
David Miller <davem@davemloft.net>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
Eric Dumazet <eric.dumazet@gmail.com>
Subject: Re: [v1 PATCH 1/14] rhashtable: Remove shift from bucket_table
Date: Wed, 18 Mar 2015 10:08:12 +0000 [thread overview]
Message-ID: <20150318100812.GM17829@casper.infradead.org> (raw)
In-Reply-To: <20150318095516.GA22634@gondor.apana.org.au>
On 03/18/15 at 08:55pm, Herbert Xu wrote:
> On Wed, Mar 18, 2015 at 09:51:02AM +0000, 'tgraf@suug.ch' wrote:
> >
> > I'm running it like this:
> > for i in $(seq 1 27); do \
> > echo $i: && ./jhash $((2**$i)) | uniq -D | uniq -c \
>
> uniq -D doesn't do what you think it does:
>
> $ { echo a; echo b; echo a; } | uniq -D
> $
>
> So you should use sort | uniq -c
Thanks. The important keyword is "adjacent" here ;-)
With this fixed up I can see what you mean. So if we are
to only do a chain length based decision, the limit would
have to grow together with the table size.
for i in $(seq 1 27); do
echo $i: && ./jhash $((2**$i)) | sort | uniq -D | uniq -c | sort -n -r | head -5;
done
1:
2 0x0
2:
3 0x0
3:
3 0x0
2 0x2
4:
2 0xb
2 0x8
2 0x4
2 0x2
2 0x0
5:
3 0xe
3 0x13
2 0xc
2 0xa
2 0x8
6:
3 0x38
3 0x37
3 0x32
3 0x2f
3 0x2e
7:
4 0x37
3 0x7d
3 0x79
3 0x6f
3 0x69
8:
6 0xb7
5 0x79
4 0xf4
4 0xe4
4 0xa3
9:
5 0xb7
5 0x9e
5 0x15b
5 0x13b
4 0xdd
10:
5 0xa4
5 0x79
5 0x29e
5 0x22a
4 0xf4
11:
5 0x92
5 0x4a4
5 0x479
5 0x47
5 0x379
12:
6 0xf1
6 0x751
5 0xf00
5 0xe26
5 0xc26
13:
7 0xf1
6 0x520
6 0x1e06
6 0x1c44
6 0x11ac
14:
7 0x3174
7 0x2f12
6 0x520
6 0x3763
6 0x3615
15:
7 0xf4
7 0x7d0b
7 0x179
6 0x807
6 0x69c9
16:
7 0xf516
7 0xe659
7 0xdf00
7 0x5f5a
7 0x5cc3
17:
7 0xe659
7 0xde5a
7 0xcaf
7 0x9cce
7 0x7fe3
18:
9 0x17f9b
8 0x3852d
7 0x992b
7 0x5e38
7 0x3d39e
19:
8 0x5f22b
8 0x47d66
8 0x436ba
8 0x182aa
7 0xe095
20:
8 0xf87dd
8 0xf464d
8 0xef51d
8 0xc08d4
8 0x91a96
21:
9 0xa7a90
9 0x1fc5ad
8 0xfae2f
8 0xd4123
8 0xb5686
22:
9 0x97b11
9 0x3fcfa3
8 0xffa9e
8 0xfa437
8 0xef7e6
23:
10 0x3b3115
9 0x5cb5ba
9 0x568fbf
9 0x54d790
9 0x4c2393
24:
10 0x86373a
10 0x35794f
9 0xf6d21e
9 0xde5301
9 0xb36b9d
next prev parent reply other threads:[~2015-03-18 10:08 UTC|newest]
Thread overview: 113+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-13 9:56 [PATCH 0/6] rhashtable: Fixes + cleanups + preparation for multiple rehash Herbert Xu
2015-03-13 9:57 ` [PATCH 1/6] rhashtable: Fix walker behaviour during rehash Herbert Xu
2015-03-13 15:50 ` Thomas Graf
2015-03-13 23:42 ` Herbert Xu
2015-03-14 0:06 ` Thomas Graf
2015-03-13 9:57 ` [PATCH 2/6] rhashtable: Use SINGLE_DEPTH_NESTING Herbert Xu
2015-03-13 15:40 ` Thomas Graf
2015-03-13 9:57 ` [PATCH 3/6] rhashtable: Move seed init into bucket_table_alloc Herbert Xu
2015-03-13 10:03 ` Daniel Borkmann
2015-03-13 11:33 ` David Laight
2015-03-13 11:40 ` Herbert Xu
2015-03-13 15:40 ` Thomas Graf
2015-03-13 9:57 ` [PATCH 4/6] rhashtable: Free bucket tables asynchronously after rehash Herbert Xu
2015-03-13 15:42 ` Thomas Graf
2015-03-13 9:57 ` [PATCH 5/6] rhashtable: Add rehash counter to bucket_table Herbert Xu
2015-03-13 13:51 ` Thomas Graf
2015-03-14 2:49 ` Herbert Xu
2015-03-13 9:57 ` [PATCH 6/6] rhashtable: Move future_tbl into struct bucket_table Herbert Xu
2015-03-13 16:13 ` Thomas Graf
2015-03-13 13:57 ` [PATCH 0/6] rhashtable: Fixes + cleanups + preparation for multiple rehash Thomas Graf
2015-03-13 16:25 ` David Miller
2015-03-14 2:51 ` Herbert Xu
2015-03-14 2:53 ` [v2 PATCH " Herbert Xu
2015-03-14 2:57 ` [v2 PATCH 1/6] rhashtable: Fix walker behaviour during rehash Herbert Xu
2015-03-14 2:57 ` [v2 PATCH 2/6] rhashtable: Use SINGLE_DEPTH_NESTING Herbert Xu
2015-03-14 2:57 ` [v2 PATCH 3/6] rhashtable: Move seed init into bucket_table_alloc Herbert Xu
2015-03-14 2:57 ` [v2 PATCH 4/6] rhashtable: Free bucket tables asynchronously after rehash Herbert Xu
2015-03-14 2:57 ` [v2 PATCH 5/6] rhashtable: Add rehash counter to bucket_table Herbert Xu
2015-03-14 2:57 ` [v2 PATCH 6/6] rhashtable: Move future_tbl into struct bucket_table Herbert Xu
2015-03-15 5:36 ` [v2 PATCH 0/6] rhashtable: Fixes + cleanups + preparation for multiple rehash David Miller
2015-03-15 10:10 ` [v1 PATCH 0/6] rhashtable: Fix two bugs caused by multiple rehash preparation Herbert Xu
2015-03-15 10:12 ` [v1 PATCH 1/2] rhashtable: Fix use-after-free in rhashtable_walk_stop Herbert Xu
2015-03-15 10:12 ` [v1 PATCH 2/2] rhashtable: Fix rhashtable_remove failures Herbert Xu
2015-03-15 10:43 ` [v1 PATCH 0/14] rhashtable: Kill shift/Key netlink namespace/Merge jhash Herbert Xu
2015-03-15 10:44 ` [v1 PATCH 1/14] rhashtable: Remove shift from bucket_table Herbert Xu
2015-03-17 10:51 ` David Laight
2015-03-17 10:56 ` tgraf
2015-03-17 11:00 ` Herbert Xu
2015-03-17 11:22 ` tgraf
2015-03-17 11:27 ` Herbert Xu
2015-03-17 11:57 ` tgraf
2015-03-17 12:13 ` David Laight
2015-03-17 12:18 ` 'tgraf@suug.ch'
2015-03-17 12:20 ` Herbert Xu
2015-03-17 12:40 ` 'tgraf@suug.ch'
2015-03-17 13:06 ` David Laight
2015-03-17 21:56 ` Herbert Xu
2015-03-18 9:51 ` 'tgraf@suug.ch'
2015-03-18 9:55 ` Herbert Xu
2015-03-18 10:08 ` 'tgraf@suug.ch' [this message]
2015-03-18 10:12 ` Herbert Xu
2015-03-18 10:26 ` David Laight
2015-03-18 10:44 ` 'tgraf@suug.ch'
2015-03-17 11:22 ` David Laight
2015-03-17 11:25 ` Herbert Xu
2015-03-15 10:44 ` [v1 PATCH 2/14] rhashtable: Introduce max_size/min_size Herbert Xu
2015-03-15 15:12 ` Sergei Shtylyov
2015-03-15 20:21 ` Herbert Xu
2015-03-15 10:44 ` [v1 PATCH 3/14] netlink: Use rhashtable max_size instead of max_shift Herbert Xu
2015-03-15 10:44 ` [v1 PATCH 4/14] tipc: " Herbert Xu
2015-03-15 15:13 ` Sergei Shtylyov
2015-03-15 10:44 ` [v1 PATCH 5/14] test_rhashtable: " Herbert Xu
2015-03-16 3:50 ` David Miller
2015-03-15 10:44 ` [v1 PATCH 6/14] rhashtable: Remove max_shift and min_shift Herbert Xu
2015-03-15 10:44 ` [v1 PATCH 7/14] netfilter: Use rhashtable_lookup instead of lookup_compare Herbert Xu
2015-03-16 8:28 ` Thomas Graf
2015-03-16 9:14 ` Herbert Xu
2015-03-16 9:28 ` Thomas Graf
2015-03-16 11:13 ` Patrick McHardy
2015-03-20 8:55 ` Herbert Xu
2015-03-20 9:22 ` Patrick McHardy
2015-03-20 9:27 ` Herbert Xu
2015-03-20 9:59 ` Patrick McHardy
2015-03-20 10:16 ` Herbert Xu
2015-03-20 10:27 ` Patrick McHardy
2015-03-20 21:47 ` Herbert Xu
2015-03-20 21:56 ` Thomas Graf
2015-03-20 21:57 ` Herbert Xu
2015-03-20 22:07 ` Thomas Graf
2015-03-20 22:10 ` Herbert Xu
2015-03-20 22:23 ` Thomas Graf
2015-03-20 22:25 ` Herbert Xu
2015-03-20 22:36 ` Thomas Graf
2015-03-21 5:25 ` Patrick McHardy
2015-03-21 5:23 ` Patrick McHardy
2015-03-20 9:36 ` Herbert Xu
2015-03-20 10:02 ` Patrick McHardy
2015-03-15 10:44 ` [v1 PATCH 8/14] rhashtable: Fix support of objects with no accessible keys Herbert Xu
2015-03-15 10:44 ` [v1 PATCH 9/14] netlink: Move namespace into hash key Herbert Xu
2015-03-15 10:44 ` [v1 PATCH 10/14] rhashtable: Rip out obsolete compare interface Herbert Xu
2015-03-16 9:35 ` Thomas Graf
2015-03-15 10:44 ` [v1 PATCH 11/14] rhashtable: Allow hashfn to be unset Herbert Xu
2015-03-15 10:44 ` [v1 PATCH 12/14] netlink: Use default rhashtable hashfn Herbert Xu
2015-03-15 10:44 ` [v1 PATCH 13/14] tipc: " Herbert Xu
2015-03-15 10:44 ` [v1 PATCH 14/14] netfilter: " Herbert Xu
2015-03-16 4:01 ` [v1 PATCH 0/14] rhashtable: Kill shift/Key netlink namespace/Merge jhash David Miller
2015-03-16 4:18 ` Herbert Xu
2015-03-16 4:30 ` David Miller
2015-03-16 4:33 ` Herbert Xu
2015-03-16 4:40 ` David Miller
2015-03-16 11:26 ` Herbert Xu
2015-03-16 20:25 ` David Miller
2015-03-18 9:01 ` [v2 PATCH 1/6] rhashtable: Remove shift from bucket_table Herbert Xu
2015-03-18 9:01 ` [v2 PATCH 2/6] rhashtable: Introduce max_size/min_size Herbert Xu
2015-03-18 10:55 ` Thomas Graf
2015-03-18 16:47 ` David Miller
2015-03-18 16:51 ` David Laight
2015-03-18 9:01 ` [v2 PATCH 3/6] netlink: Use rhashtable max_size instead of max_shift Herbert Xu
2015-03-18 9:01 ` [v2 PATCH 4/6] tipc: Use rhashtable max/min_size instead of max/min_shift Herbert Xu
2015-03-18 9:01 ` [v2 PATCH 5/6] test_rhashtable: Use rhashtable max_size instead of max_shift Herbert Xu
2015-03-18 9:01 ` [v2 PATCH 6/6] rhashtable: Remove max_shift and min_shift Herbert Xu
2015-03-15 10:43 ` [v1 PATCH 0/6] rhashtable: Fix two bugs caused by multiple rehash preparation Herbert Xu
2015-03-16 2:23 ` David 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=20150318100812.GM17829@casper.infradead.org \
--to=tgraf@suug.ch \
--cc=David.Laight@ACULAB.COM \
--cc=davem@davemloft.net \
--cc=eric.dumazet@gmail.com \
--cc=herbert@gondor.apana.org.au \
--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).