kernel code reading: link_watch moniter the link state

kernel use linkwatch_fire_event() to notify the net link is up or down.
kernel code reading: netpoll

netpoll is used to enable packets transmit before the net subsystme is up.

Like bridge and netconsole.
kernel code reading: packet receive in kernel
kernel code reading: softnet_data output_queue

Make more clear about how to use the output_queue.
kernel code reading: how kernel send out a packet

kernel finally will call dev_queue_xmit() to send out a skb.
kernel code reading: when pci is init on powernv
kernel code test: semaphor

This is a test about semaphor in kernel.

If we use down_interruptible() instead of down_timeout(), rmmod will hang.
So this version use down_timeout().

Need to re-think about the performance.