]> git.baikalelectronics.ru Git - kernel.git/commit
rhashtable-test: extend to test concurrency
authorPhil Sutter <phil@nwl.cc>
Fri, 14 Aug 2015 22:37:15 +0000 (00:37 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 17 Aug 2015 21:33:47 +0000 (14:33 -0700)
commit6eecb42dac6b8aca970d34a3ae3dd94495810c03
tree2aef5687fe36853abbd5cb80a1b7b0d0c14905ca
parent30acf5740e36096fe3b1a0740d0a77d572ca5335
rhashtable-test: extend to test concurrency

After having tested insertion, lookup, table walk and removal, spawn a
number of threads running operations on the same rhashtable. Each of
them will:

1) insert it's own set of objects,
2) lookup every successfully inserted object and finally
3) remove objects in several rounds until all of them have been removed,
   making sure the remaining ones are still found after each round.

This should put a good amount of load onto the system and due to
synchronising thread startup via two semaphores also extensive
concurrent table access.

The default number of ten threads returned within half a second on my
local VM with two cores. Running 200 threads took about four seconds. If
slow systems suffer too much from this though, the default could be
lowered or even set to zero so this extended test does not run at all by
default.

Signed-off-by: Phil Sutter <phil@nwl.cc>
Acked-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
lib/test_rhashtable.c