linux驱动数据接收函数_0.docVIP

  • 2
  • 0
  • 约1.49万字
  • 约 42页
  • 2019-04-30 发布于江苏
  • 举报
linux驱动数据接收函数   篇一:卡驱动和队列层中的数据包接收Linux TCPIP协议栈笔记   原文地址:   http:///viewthread.php?tid=14extra=page%3D1   Linux TCP/IP协议栈笔记   卡驱动和队列层中的数据包接收   作者:kendo   Kernel:2.6.12   文章对于我们理解TCP发送数据包以及收取数据包非常有帮助。   四、卡的数据接收   内核如何从卡接受数据,传统的经典过程:   引用   1、数据到达卡;   2、卡产生一个中断给内核;   3、内核使用I/O指令,从卡I/O区域中去读取数据;   我们在许多卡驱动中,都可以在卡的中断函数中见到这一过程。   但是,这一种方法,有一种重要的问题,就是大流量的数据来到,卡会产生大量的中断,内核在中断上下文中,会浪费大量的来处理中断本身。所以,一个问题是,“可不可以不使用中断”,这就是轮询技术,所谓NAPI技术,说来也不神秘,就是说,内核屏蔽中断,然后隔一会儿就去问卡,“你有没有数据啊?”??   从这个描述本身可以看到,哪果数据量少,轮询同样占用大量的不必要的CPU,大家各有所长吧,呵呵??   OK,另一个问题,就是从卡的I/O区域,包括I/O寄存器或I/O内存中去读取数据,这都要CPU去读,也

文档评论(0)

1亿VIP精品文档

相关文档