Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1215258 > unrolled thread
| Started by | Phil Sutter <phil@nwl.cc> |
|---|---|
| First post | 2015-08-28 12:30 +0200 |
| Last post | 2015-08-28 13:10 +0200 |
| Articles | 5 on this page of 25 — 4 participants |
Back to article view | Back to linux.kernel
[PATCH 1/3] rhashtable-test: add cond_resched() to thread test Phil Sutter <phil@nwl.cc> - 2015-08-28 12:30 +0200
[PATCH 2/3] rhashtable-test: retry insert operations in threads Phil Sutter <phil@nwl.cc> - 2015-08-28 12:30 +0200
Re: [PATCH 2/3] rhashtable-test: retry insert operations in threads Thomas Graf <tgraf@suug.ch> - 2015-08-28 13:10 +0200
Re: [PATCH 2/3] rhashtable-test: retry insert operations in threads Phil Sutter <phil@nwl.cc> - 2015-08-28 13:20 +0200
Re: [PATCH 2/3] rhashtable-test: retry insert operations in threads Phil Sutter <phil@nwl.cc> - 2015-08-28 15:40 +0200
Re: [PATCH 2/3] rhashtable-test: retry insert operations in threads Thomas Graf <tgraf@suug.ch> - 2015-08-29 00:50 +0200
Re: [PATCH 2/3] rhashtable-test: retry insert operations in threads Phil Sutter <phil@nwl.cc> - 2015-08-29 11:10 +0200
Re: [PATCH 2/3] rhashtable-test: retry insert operations in threads Herbert Xu <herbert@gondor.apana.org.au> - 2015-08-30 09:50 +0200
Re: [PATCH 2/3] rhashtable-test: retry insert operations in threads Phil Sutter <phil@nwl.cc> - 2015-08-31 13:10 +0200
Re: [PATCH 2/3] rhashtable-test: retry insert operations in threads Herbert Xu <herbert@gondor.apana.org.au> - 2015-09-01 13:50 +0200
Re: [PATCH 2/3] rhashtable-test: retry insert operations in threads Phil Sutter <phil@nwl.cc> - 2015-09-01 14:50 +0200
Re: [PATCH 2/3] rhashtable-test: retry insert operations in threads Herbert Xu <herbert@gondor.apana.org.au> - 2015-09-01 15:10 +0200
Re: [PATCH 2/3] rhashtable-test: retry insert operations in threads Eric Dumazet <eric.dumazet@gmail.com> - 2015-09-01 15:50 +0200
Re: [PATCH 2/3] rhashtable-test: retry insert operations in threads Phil Sutter <phil@nwl.cc> - 2015-09-01 15:50 +0200
Re: [PATCH 2/3] rhashtable-test: retry insert operations in threads Herbert Xu <herbert@gondor.apana.org.au> - 2015-09-01 16:00 +0200
Re: [PATCH 2/3] rhashtable-test: retry insert operations in threads Phil Sutter <phil@nwl.cc> - 2015-09-01 16:00 +0200
Re: [PATCH 2/3] rhashtable-test: retry insert operations in threads Herbert Xu <herbert@gondor.apana.org.au> - 2015-09-01 16:10 +0200
Re: [PATCH 2/3] rhashtable-test: retry insert operations in threads Thomas Graf <tgraf@suug.ch> - 2015-09-01 16:20 +0200
Re: [PATCH 2/3] rhashtable-test: retry insert operations in threads Herbert Xu <herbert@gondor.apana.org.au> - 2015-09-01 16:20 +0200
Re: [PATCH 2/3] rhashtable-test: retry insert operations in threads Thomas Graf <tgraf@suug.ch> - 2015-09-01 17:00 +0200
Re: [PATCH 2/3] rhashtable-test: retry insert operations in threads Herbert Xu <herbert@gondor.apana.org.au> - 2015-09-02 04:10 +0200
Re: [PATCH 2/3] rhashtable-test: retry insert operations in threads Thomas Graf <tgraf@suug.ch> - 2015-09-02 09:10 +0200
[PATCH 3/3] rhashtable-test: calculate max_entries value by default Phil Sutter <phil@nwl.cc> - 2015-08-28 12:30 +0200
Re: [PATCH 3/3] rhashtable-test: calculate max_entries value by default Thomas Graf <tgraf@suug.ch> - 2015-08-28 13:20 +0200
Re: [PATCH 1/3] rhashtable-test: add cond_resched() to thread test Thomas Graf <tgraf@suug.ch> - 2015-08-28 13:10 +0200
Page 2 of 2 — ← Prev page 1 [2]
| From | Herbert Xu <herbert@gondor.apana.org.au> |
|---|---|
| Date | 2015-09-02 04:10 +0200 |
| Subject | Re: [PATCH 2/3] rhashtable-test: retry insert operations in threads |
| Message-ID | <q45ER-7Yy-3@gated-at.bofh.it> |
| In reply to | #1216894 |
On Tue, Sep 01, 2015 at 04:51:24PM +0200, Thomas Graf wrote: > > 1. The current in-kernel self-test > 2. bind_netlink.c: https://github.com/tgraf/rhashtable Thanks, I will try to reproduce this. -- Email: Herbert Xu <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Thomas Graf <tgraf@suug.ch> |
|---|---|
| Date | 2015-09-02 09:10 +0200 |
| Subject | Re: [PATCH 2/3] rhashtable-test: retry insert operations in threads |
| Message-ID | <q4alc-6kn-7@gated-at.bofh.it> |
| In reply to | #1217276 |
On 09/02/15 at 10:00am, Herbert Xu wrote:
> On Tue, Sep 01, 2015 at 04:51:24PM +0200, Thomas Graf wrote:
> >
> > 1. The current in-kernel self-test
> > 2. bind_netlink.c: https://github.com/tgraf/rhashtable
>
> Thanks, I will try to reproduce this.
The path in question is:
int rhashtable_insert_rehash(struct rhashtable *ht)
{
[...]
old_tbl = rht_dereference_rcu(ht->tbl, ht);
tbl = rhashtable_last_table(ht, old_tbl);
size = tbl->size;
if (rht_grow_above_75(ht, tbl))
size *= 2;
/* Do not schedule more than one rehash */
else if (old_tbl != tbl)
return -EBUSY;
The behaviour in question is the immediate rehash during
insertion which we want to fail.
Commits:
ccd57b1bd32460d27bbb9c599e795628a3c66983
a87b9ebf1709687ff213091d0fdb4254b1564803
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Phil Sutter <phil@nwl.cc> |
|---|---|
| Date | 2015-08-28 12:30 +0200 |
| Subject | [PATCH 3/3] rhashtable-test: calculate max_entries value by default |
| Message-ID | <q2p51-t4-27@gated-at.bofh.it> |
| In reply to | #1215258 |
A maximum table size of 64k entries is insufficient for the multiple
threads test even in default configuration (10 threads * 50000 objects =
500000 objects in total). Since we know how many objects will be
inserted, calculate the max size unless overridden by parameter.
Note that specifying the exact number of objects upon table init won't
suffice as that value is being rounded down to the next power of two -
anticipate this by rounding up to the next power of two in beforehand.
Signed-off-by: Phil Sutter <phil@nwl.cc>
---
lib/test_rhashtable.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/lib/test_rhashtable.c b/lib/test_rhashtable.c
index 093cf84..73fcb8e 100644
--- a/lib/test_rhashtable.c
+++ b/lib/test_rhashtable.c
@@ -36,9 +36,9 @@ static int runs = 4;
module_param(runs, int, 0);
MODULE_PARM_DESC(runs, "Number of test runs per variant (default: 4)");
-static int max_size = 65536;
+static int max_size = 0;
module_param(max_size, int, 0);
-MODULE_PARM_DESC(runs, "Maximum table size (default: 65536)");
+MODULE_PARM_DESC(runs, "Maximum table size (default: calculated)");
static bool shrinking = false;
module_param(shrinking, bool, 0);
@@ -317,7 +317,7 @@ static int __init test_rht_init(void)
entries = min(entries, MAX_ENTRIES);
test_rht_params.automatic_shrinking = shrinking;
- test_rht_params.max_size = max_size;
+ test_rht_params.max_size = max_size ? : roundup_pow_of_two(entries);
test_rht_params.nelem_hint = size;
pr_info("Running rhashtable test nelem=%d, max_size=%d, shrinking=%d\n",
@@ -363,6 +363,8 @@ static int __init test_rht_init(void)
return -ENOMEM;
}
+ test_rht_params.max_size = max_size ? :
+ roundup_pow_of_two(tcount * entries);
err = rhashtable_init(&ht, &test_rht_params);
if (err < 0) {
pr_warn("Test failed: Unable to initialize hashtable: %d\n",
--
2.1.2
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Thomas Graf <tgraf@suug.ch> |
|---|---|
| Date | 2015-08-28 13:20 +0200 |
| Subject | Re: [PATCH 3/3] rhashtable-test: calculate max_entries value by default |
| Message-ID | <q2pRo-1DC-13@gated-at.bofh.it> |
| In reply to | #1215264 |
On 08/28/15 at 12:28pm, Phil Sutter wrote: > A maximum table size of 64k entries is insufficient for the multiple > threads test even in default configuration (10 threads * 50000 objects = > 500000 objects in total). Since we know how many objects will be > inserted, calculate the max size unless overridden by parameter. > > Note that specifying the exact number of objects upon table init won't > suffice as that value is being rounded down to the next power of two - > anticipate this by rounding up to the next power of two in beforehand. > > Signed-off-by: Phil Sutter <phil@nwl.cc> Acked-by: Thomas Graf <tgraf@suug.ch> Thanks for doing this work. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Thomas Graf <tgraf@suug.ch> |
|---|---|
| Date | 2015-08-28 13:10 +0200 |
| Message-ID | <q2pHJ-1s8-45@gated-at.bofh.it> |
| In reply to | #1215258 |
On 08/28/15 at 12:28pm, Phil Sutter wrote: > This should fix for soft lockup bugs triggered on slow systems. > > Signed-off-by: Phil Sutter <phil@nwl.cc> Acked-by: Thomas Graf <tgraf@suug.ch> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Page 2 of 2 — ← Prev page 1 [2]
Back to top | Article view | linux.kernel
csiph-web