|
static void | delkey (struct slabhash_testkey *k) |
| delete key
|
|
static hashvalue_type | myhash (int id) |
| hash func, very bad to improve collisions, both high and low bits
|
|
static testkey_type * | newkey (int id) |
| allocate new key, fill in hash
|
|
static testdata_type * | newdata (int val) |
| new data el
|
|
static void | test_short_table (struct slabhash *table) |
| test hashtable using short sequence
|
|
static void | testadd (struct slabhash *table, testdata_type *ref[]) |
| test adding a random element
|
|
static void | testremove (struct slabhash *table, testdata_type *ref[]) |
| test adding a random element
|
|
static void | testlookup (struct slabhash *table, testdata_type *ref[]) |
| test adding a random element
|
|
static void | check_lru_table (struct lruhash *table) |
| check integrity of hash table
|
|
static void | check_table (struct slabhash *table) |
| check integrity of hash table
|
|
static void | testadd_unlim (struct slabhash *table, testdata_type **ref) |
| test adding a random element (unlimited range)
|
|
static void | testremove_unlim (struct slabhash *table, testdata_type **ref) |
| test adding a random element (unlimited range)
|
|
static void | testlookup_unlim (struct slabhash *table, testdata_type **ref) |
| test adding a random element (unlimited range)
|
|
static void | test_long_table (struct slabhash *table) |
| test with long sequence of adds, removes and updates, and lookups
|
|
static void * | test_thr_main (void *arg) |
| main routine for threaded hash table test
|
|
static void | test_threaded_table (struct slabhash *table) |
| test hash table access by multiple threads
|
|
void | slabhash_test (void) |
| unit test slabhashtable implementation
|
|
Tests the locking LRU keeping hash table implementation.