文档详情

Linux多队列网卡的硬件的实现详解.doc

发布:2017-06-26约字共5页下载文档
文本预览下载声明
x多队列网卡的硬件的实现详解 多队列网卡是一种技术,最初是用来解决网络 ( )问题的,后来随着网络的带宽的不断提升,单核不能完全处满足网卡的需求,通过多队列网卡驱动的支持,将各个队列通过中断绑定到不同的核上,以满足网卡的需求。 常见的有的82575、82576,的57711等,下面以公司的服务器使用较多的82575网卡为例,分析一下多队列网卡的硬件的实现以及x内核软件的支持。 1.多队列网卡硬件实现 图是82575硬件逻辑图,有四个硬件队列。当收到报文时,通过包头的、、、四元组,将一条流总是收到相同的队列。同时触发与该队列绑定的中断。 图 82575硬件逻辑图 2. 以前网卡驱动实现 从之前不支持多队列特性,一个网卡只能申请一个中断号,因此同一个时刻只有一个核在处理网卡收到的包x多队列网卡的硬件的实现详解。如图,协议栈通过轮询收取各个硬件中的报文到图的_数据结构中,通过队列将报文发送到网卡。 图 之前内核协议栈 图 之前_ 3. 后网卡驱动实现 开始支持多队列特性,当网卡驱动加载时,通过获取的网卡型号,得到网卡的硬件的数量,并结合核的数量,最终通过=(网卡,)得出所要激活的网卡数量(),并申请个中断号,分配给激活的各个。 如图,当某个收到报文时,触发相应的中断,收到中断的核,将该任务加入到协议栈负责收包的该核的_X_队列中(_X_在每个核上都有一个实例),在_X_中,调用的收包接口,将报文收到中如图的有多个_的_数据结构中。 这样,的各个核可以并发的收包,就不会应为一个核不能满足需求,导致网络性能下降x多队列网卡的硬件的实现详解。 图 之后内核协议栈 图 之后_ 4.中断绑定 当可以平行收包时,就会出现不同的核收取了同一个的报文,这就会产生报文乱序的问题,解决方法是将一个的中断绑定到唯一的一个核上去,从而避免了乱序问题。同时如果网络流量大的时候,可以将软中断均匀的分散到各个核上,避免成为瓶颈。 图 5.中断亲合纠正 一些多队列网卡驱动实现的不是太好,在初始化后会出现图中同一个队列的x、x中断绑定到不同核上的问题,这样数据在0与1之间流动,导致核间数据交互加大,命中率降低,降低了效率。 图 不合理中断绑定 x 子系统的负责人提供了一个脚本,首先检索文件中的信息,按照图中0-x-0($)中的得出中断,并将 写入中断号53对应的_中由于-x-0与-x-0的相同,实现同一个的x与x中断绑定到一个核上,如图所示x多队列网卡的硬件的实现详解。 图 __ 时间:2017-03-18 17:16 图 合理的中断绑定 __脚本位于:x__。 6.多队列网卡识别 # - 的条目内容,如果有-X + 1,则该网卡是多队列网卡,如图所示。 图 内容 ()是规范的一个实现,可以突破256条的限制,使每个设备具有多个中断线变成可能,多队列网卡驱动给每个申请了。-X是数组,+指使能,是数组大小。 # # 2008-11-25 # 2009-02-19 # # : 12免责声明:本文仅代表作者个人观点,与本网无关。 看完本文,记得打分哦:很差差还行好很好很好下载格式文档马上分享给朋友:?知道苹果代表什么吗红苹果实用文章,深受网友追捧 黄苹果比较有用,值得网友借鉴 青苹果没有价值,写作仍需努力 daily morning exercises or class-break setting-up exercise and discipline inspection and appraisal of public signs;2, daily cleaning and inspection;3, the daily student school appearance, dress, wearing school card check;4, the daily duty guide to the leadership class discipline three rounds.Weekly moral education work:L, the flag raising ceremony and the nationa
显示全部
相似文档