aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Kconfig.debug
diff options
context:
space:
mode:
authorThomas Graf <tgraf@suug.ch>2014-08-02 05:47:44 -0400
committerDavid S. Miller <davem@davemloft.net>2014-08-02 22:49:38 -0400
commit7e1e77636e36075ebf118298855268468f1028e8 (patch)
treea885e78ba5cb99f939b45e0de86ace05f23515f7 /lib/Kconfig.debug
parentd39a9ffce7f14b494391da982b8cefa311dae0f6 (diff)
lib: Resizable, Scalable, Concurrent Hash Table
Generic implementation of a resizable, scalable, concurrent hash table based on [0]. The implementation supports both, fixed size keys specified via an offset and length, or arbitrary keys via own hash and compare functions. Lookups are lockless and protected as RCU read side critical sections. Automatic growing/shrinking based on user configurable watermarks is available while allowing concurrent lookups to take place. Objects to be hashed must include a struct rhash_head. The reason for not using the existing struct hlist_head is that the expansion and shrinking will have two buckets point to a single entry which would lead in obscure reverse chaining behaviour. Code includes a boot selftest if CONFIG_TEST_RHASHTABLE is defined. [0] https://www.usenix.org/legacy/event/atc11/tech/final_files/Triplett.pdf Signed-off-by: Thomas Graf <tgraf@suug.ch> Reviewed-by: Nikolay Aleksandrov <nikolay@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'lib/Kconfig.debug')
-rw-r--r--lib/Kconfig.debug8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 7a638aa3545b..f11a2e8f6157 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -1550,6 +1550,14 @@ config TEST_STRING_HELPERS
1550config TEST_KSTRTOX 1550config TEST_KSTRTOX
1551 tristate "Test kstrto*() family of functions at runtime" 1551 tristate "Test kstrto*() family of functions at runtime"
1552 1552
1553config TEST_RHASHTABLE
1554 bool "Perform selftest on resizable hash table"
1555 default n
1556 help
1557 Enable this option to test the rhashtable functions at boot.
1558
1559 If unsure, say N.
1560
1553endmenu # runtime tests 1561endmenu # runtime tests
1554 1562
1555config PROVIDE_OHCI1394_DMA_INIT 1563config PROVIDE_OHCI1394_DMA_INIT