Step2:调用__hlist_del删除结点nStep3:调用INIT_HLIST_NODE,将结点n进行初始化。hlist_add_head:将结点n插在头结点h之后。hlist_add_before:将结点n插在next结点的前面(next在哈希链表中)hlist_add_after:将结点next插在n之后(n在哈希链表中)3.0内核新加入了hlist_add_fake函数。将first赋值给n结点的next域。让n的next与first关联起来。假设first不为空,则将first的pprev指向n的next域。此时完毕了first结点的关联。将n结点的pprev指向链表的fist域,此时完毕了对n结点的关联。next->prev;将next的pprev赋值给n->pprev。指向next的前一个结点的next。next;将n结点的next指向next,完毕对n结点的关联。&n->next;此时改动next结点的pprev。使其指向n的next的地址。此时完毕next结点的关联。=n;此时*(n->pprev)即n结点前面的next,使其指向n。)(2)n为新插入的结点。将next->next指向结点n的下一个结点。改动n结点的next。