华清远见 接收流程, NAPI方式
数据接收流程 (2)与数据包的中断接收方式不同的是,以 poll方式接收数据包时,当第一次中断发生后,中断处理程序要禁止设备的数据包接收中断:网络设备驱动 poll中断处理函数模板1 2 3 4 5 6 7 8 9 10 11 12 sta
tic void xxx_poll_interrupt(int irq, void *dev_id, struct pt_regs *regs){ switch (status &ISQ_EVENT_MASK) { case ISQ_RECEIVER_EVENT: … /* 获取数据包 */ xxx_disable_rx_int(...); /* 禁止接收中断 */ netif_rx_schedule(dev); break; softnet_data … /* 其他类型的中断 */设备硬件中断触发软中断 }把设备挂接上 poll_list netif_rx_action()关闭中断}netif_rx_schedule()数据包读取完毕使能中断把设备从 poll_list清除
返回中断
调用设备的poll方法读取数据包
netif_rx_complete()
NAPI 在高负载的情况下可以产生更好的性能,它避免了为每个传入的帧都产生中断。9
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库Liunx网络驱动编程(9)在线全文阅读。
相关推荐: