> > http://tenyear.net/books/LinuxKernelPrimer/ch02lev1sec1.html > > You will see that it was added to allow the head of the list to contain > just one pointer (thus saving space). To allow insertion and deletion, > however, nodes must still reference the pointers that reference them. > They (the pointers) don't need to point to the actual nodes. They just > need to point to whatever is pointing to that particular node (the > 'first' member of hlist_head, or the 'next' pointer of the previous node). > > If it were a single pointer (i.e. struct hlist_node *prev), then that > pointer on the first node would be broken since it would be pointing to > a struct hlist_head instead of a hlist_node. > > If you're really interested you can also take a look at lkml posts > introducing this new type of list here: > > http://lkml.org/lkml/2000/7/28/10
Hi, Thanks for the link and the answer, it really helps me!
