Thread (34 messages) 34 messages, 7 authors, 2015-12-18

Re: [PATCH v2 0/4] improve fault-tolerance of rhashtable runtime-test

From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2015-11-30 10:19:12
Also in: lkml, oe-lkp

On Mon, Nov 30, 2015 at 11:14:01AM +0100, Phil Sutter wrote:
On Mon, Nov 30, 2015 at 05:37:55PM +0800, Herbert Xu wrote:
quoted
Phil Sutter [off-list ref] wrote:
quoted
The following series aims to improve lib/test_rhashtable in different
situations:

Patch 1 allows the kernel to reschedule so the test does not block too
       long on slow systems.
Patch 2 fixes behaviour under pressure, retrying inserts in non-permanent
       error case (-EBUSY).
Patch 3 auto-adjusts the upper table size limit according to the number
       of threads (in concurrency test). In fact, the current default is
       already too small.
Patch 4 makes it possible to retry inserts even in supposedly permanent
       error case (-ENOMEM) to expose rhashtable's remaining problem of
       -ENOMEM being not as permanent as it is expected to be.
I'm sorry but this patch series is simply bogus.
The whole series?!
Well at least patch two and four seem clearly wrong because no
rhashtable user should need to retry insertions.
Did you try with my bogus patch series applied? How many CPUs does your
test system actually have?
quoted
So can someone please help me reproduce this? Because just loading
test_rhashtable isn't doing it.
As said, maybe you need to increase the number of spawned threads
(tcount=50 or so).
OK that's better.  I think I see the problem.  The test in
rhashtable_insert_rehash is racy and if two threads both try
to grow the table one of them may be tricked into doing a rehash
instead.

I'm working on a fix.

Thanks,
-- 
Email: Herbert Xu [off-list ref]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help