首页 > 代码库 > linux 报文接收的上下半段阅读感想
linux 报文接收的上下半段阅读感想
1. linux报文接收的上下半段处理从本质上是因为系统的快速中断不能长时间滞留, 以避免影响后续外部事件的处理。 2. 因此将报文的接收分为硬件中断产生的上半部分和由上半部分软件中断触发的下半部分。 上半部分负责接收报文和将其分配给处理它的内核线程, 下半部分由内核线程具体处理。 3. 目前linux内核在该部分代码较多主要来源于两方面,NAPI和内核抢占. 4. 从linux2.6开始追加了内核抢占,与以往不同点在于以前只能由系统线程抢占用户线程, 现在内核之间也能相互抢占。这样的收益主要在两方面: <1>.实时性 <2>.多核操作系统的效率提升. 5. NAPI是因为出现了能自己能缓存一定报文的设备,对于这种设备的上半段报文可以留在设备中 而将设备分配内核线程接手,在下半段从设备中取出报文。以往的非NAPI的设备因为没有缓存所以 每次收到报文都要分配给处理线程。因此NAPI能减少上下半段交互的软中断频率. linux-3.6 面码
linux 报文接收的上下半段阅读感想
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。