Here are some system call source code analyze based on Linux2.6, include
struct task_struct
struct thread_info
struct mm_struct
struct vm_area_struct
struct wait_queue..
vfs
mapping layer
generic block layer
I/O scheduler layer
driver
hard disck..
struct tcp_sock
struct inet_sock
struct sock
struct sock_common
struct sk_buf
struct rtable
struct dst_entry..
read/write for direct IO/indirect IO
epoll_create
epoll_ctl
epoll_wait..
user space process->socket layer->transport control layer->network layer->network interface card.
send()
sock_sendmsg()
tcp_sendmsg()
tcp_write_xmit()
ip_queue_xmit()
ip_output()
e1000_xmit_frame()
e1000_tx_queue()
network interface card->interrupt context->network layer->transport control layer, socket layer->user space process.
e1000_intr()
netif_receive_skb()
ip_rcv()
tcp_v4_rcv()
tcp_v4_do_rcv()
skb_queue_head()
tcp_recvmsg()
sock_recvmsg()
recv()
任务数据结构、状态转换、消息队列RingBuffer、IPC相关
内核源码中文注释
EMQ源码分析