Хэш-Таблица в ядре линукса.

Её можно создавать либо совсем статически:

DEFINE_HASHTABLE(имя, колбитов);

где имя – имя переменной;

колбитов – количество битов в хеше. Фактически задаёт, сколько будет корзин как 2^колбитов.

Если хотим создавать в структуре/динамически, то объявляем переменную:

DECLARE_HASHTABLE(имя, колбитов);

и далее делаем hash_init.

Есть и третий вариант: создаём как-то массив из struct hlist_head и далее все элементы прогоняем через INIT_HLIST_HEAD.