Хэш-Таблица в ядре линукса.
Её можно создавать либо совсем статически:
DEFINE_HASHTABLE(имя, колбитов);
где имя — имя переменной;
колбитов — количество битов в хеше. Фактически задаёт, сколько будет корзин как 2^колбитов.
Если хотим создавать в структуре/динамически, то объявляем переменную:
DECLARE_HASHTABLE(имя, колбитов);
и далее делаем hash_init.
Есть и третий вариант: создаём как-то массив из struct hlist_head и далее все элементы прогоняем через INIT_HLIST_HEAD.