Describe how hash tables are implemented in the Linux kernel.
2:
A structure that is a member of a doubly linked list will have a list_head structure. Before the adoption of the list_head structure in the kernel, the structure would have the fields prev and next pointing to other like structures. What is the purpose of creating a structure solely to hold the prev and next pointers?
3:
What is inline assembly and why would you want to use it?
4:
Assume you write a device driver that accesses the serial port registers. Would you mark these addresses volatile? Why or why not?
5:
Given what __init does, what types of functions would you expect to use this macro?