位置: IT常识 - 正文

Linux多队列网卡的硬件的实现详解(linux配置多网卡设置)

编辑:rootadmin
多队列网卡是一种技术,很多的朋友对多队列网卡不了解!今天小编为大家分享的是Linux多队列网卡的硬件的实现详解;感兴趣的朋友一起去看看吧... 17-03-15

推荐整理分享Linux多队列网卡的硬件的实现详解(linux配置多网卡设置),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux多网卡组播,linux 多网卡配置,linux 网卡队列,linux多网卡聚合,linux 网卡队列,linux多网卡聚合,linux多网卡聚合,linux多网卡网络配置ip地址,内容如对您有帮助,希望把文章链接给更多的朋友!

多队列网卡是一种技术,最初是用来解决网络IO QoS(quality of service)问题的,后来随着网络IO的带宽的不断提升,单核CPU不能完全处满足网卡的需求,通过多队列网卡驱动的支持,将各个队列通过中断绑定到不同的核上,以满足网卡的需求。

常见的有Intel的82575、82576,Boardcom的57711等,下面以公司的服务器使用较多的Intel 82575网卡为例,分析一下多队列网卡的硬件的实现以及linux内核软件的支持。

1.多队列网卡硬件实现

图1.1是Intel 82575硬件逻辑图,有四个硬件队列。当收到报文时,通过hash包头的SIP、Sport、DIP、Dport四元组,将一条流总是收到相同的队列。同时触发与该队列绑定的中断。

图1.1 82575硬件逻辑图

2. 2.6.21以前网卡驱动实现

kernel从2.6.21之前不支持多队列特性,一个网卡只能申请一个中断号,因此同一个时刻只有一个核在处理网卡收到的包。如图2.1,协议栈通过NAPI轮询收取各个硬件queue中的报文到图2.2的net_device数据结构中,通过QDisc队列将报文发送到网卡。

图2.1 2.6.21之前内核协议栈

图2.2 2.6.21之前net_device

Linux多队列网卡的硬件的实现详解(linux配置多网卡设置)

3. 2.6.21后网卡驱动实现

2.6.21开始支持多队列特性,当网卡驱动加载时,通过获取的网卡型号,得到网卡的硬件queue的数量,并结合CPU核的数量,最终通过Sum=Min(网卡queue,CPU core)得出所要激活的网卡queue数量(Sum),并申请Sum个中断号,分配给激活的各个queue。

如图3.1,当某个queue收到报文时,触发相应的中断,收到中断的核,将该任务加入到协议栈负责收包的该核的NET_RX_SOFTIRQ队列中(NET_RX_SOFTIRQ在每个核上都有一个实例),在NET_RX_SOFTIRQ中,调用NAPI的收包接口,将报文收到CPU中如图3.2的有多个netdev_queue的net_device数据结构中。

这样,CPU的各个核可以并发的收包,就不会应为一个核不能满足需求,导致网络IO性能下降。

图3.1 2.6.21之后内核协议栈

图3.2 2.6.21之后net_device

4.中断绑定

当CPU可以平行收包时,就会出现不同的核收取了同一个queue的报文,这就会产生报文乱序的问题,解决方法是将一个queue的中断绑定到唯一的一个核上去,从而避免了乱序问题。同时如果网络流量大的时候,可以将软中断均匀的分散到各个核上,避免CPU成为瓶颈。

图4.1 /proc/interrupts

5.中断亲合纠正

一些多队列网卡驱动实现的不是太好,在初始化后会出现图4.1中同一个队列的tx、rx中断绑定到不同核上的问题,这样数据在core0与core1之间流动,导致核间数据交互加大,cache命中率降低,降低了效率。

图5.1不合理中断绑定

linux network子系统的负责人David Miller提供了一个脚本,首先检索/proc/interrupts文件中的信息,按照图4.1中eth0-rx-0($VEC)中的VEC得出中断MASK,并将MASK

写入中断号53对应的smp_affinity中。由于eth-rx-0与eth-tx-0的VEC相同,实现同一个queue的tx与rx中断绑定到一个核上,如图4.3所示。

图4.2 set_irq_affinity

图4.3合理的中断绑定

set_irq_affinity脚本位于http://mirror.oa.com/tlinux/tools/set_irq_affinity.sh。

上一页12 下一页 阅读全文
本文链接地址:https://www.jiuchutong.com/zhishi/278764.html 转载请保留说明!

上一篇:上网速度变慢甚至打不开网页如何防止别人蹭我们的网(网速变慢了)

下一篇:win10待机密码怎么设置(windows待机密码)

  • 三星手机怎么投屏(三星手机怎么投屏小米电视)

    三星手机怎么投屏(三星手机怎么投屏小米电视)

  • sony wf-1000xm3怎么配对(sony wf-1000xm3怎么连接电脑)

    sony wf-1000xm3怎么配对(sony wf-1000xm3怎么连接电脑)

  • pure天气有没有ios版(pure天气pro)

    pure天气有没有ios版(pure天气pro)

  • 苹果11怎么删除通讯录联系人(苹果11怎么删除壁纸组合设置)

    苹果11怎么删除通讯录联系人(苹果11怎么删除壁纸组合设置)

  • 小度在家监控怎样回放(小度在家的监控)

    小度在家监控怎样回放(小度在家的监控)

  • iPhone11建议升级吗		(iPhone11建议升级16.1吗)

    iPhone11建议升级吗 (iPhone11建议升级16.1吗)

  • 微信显示黑色背景怎么去掉(微信黑色背景什么意思)

    微信显示黑色背景怎么去掉(微信黑色背景什么意思)

  • 淘宝怎么第二次换货(淘宝怎么第二次追评)

    淘宝怎么第二次换货(淘宝怎么第二次追评)

  • 文档长横线怎么打出来(文档中横线怎么加长)

    文档长横线怎么打出来(文档中横线怎么加长)

  • 怎么找微信删除的视频(怎么找微信删除的好友)

    怎么找微信删除的视频(怎么找微信删除的好友)

  • 怎么看qq绑定的软件(怎么看qq绑定的实名认证)

    怎么看qq绑定的软件(怎么看qq绑定的实名认证)

  • 红米note8pro怎么录音(红米note8pro怎么样)

    红米note8pro怎么录音(红米note8pro怎么样)

  • oppor15有没有红外遥控功能(oppor15有红色吗)

    oppor15有没有红外遥控功能(oppor15有红色吗)

  • 充电器pd啥意思(充电器 pd qc)

    充电器pd啥意思(充电器 pd qc)

  • 喜马拉雅怎么看小说(喜马拉雅怎么看直播回放)

    喜马拉雅怎么看小说(喜马拉雅怎么看直播回放)

  • 手机显示loading是什么意思(手机显示loading是什么意思怎么消除它)

    手机显示loading是什么意思(手机显示loading是什么意思怎么消除它)

  • iphone11还是英特尔基带吗(iphone 11 英特尔)

    iphone11还是英特尔基带吗(iphone 11 英特尔)

  • 计算机指令系统是指(计算机指令系统中一条指令通常由什么组成)

    计算机指令系统是指(计算机指令系统中一条指令通常由什么组成)

  • 小米5x手机充电充不进去(小米5x手机充电器参数)

    小米5x手机充电充不进去(小米5x手机充电器参数)

  • 清晰度1080p是什么意思(1080p清晰度是多少)

    清晰度1080p是什么意思(1080p清晰度是多少)

  • 魅族16s用的是什么芯片(魅族16s怎么样好不好)

    魅族16s用的是什么芯片(魅族16s怎么样好不好)

  • 如何查询苹果手机串号?(如何查询苹果手机充电次数)

    如何查询苹果手机串号?(如何查询苹果手机充电次数)

  • 解决Element-ui的el-table出现的表格错位问题(element-ui dialog)

    解决Element-ui的el-table出现的表格错位问题(element-ui dialog)

  • 如何查看 Python 全部内置变量和内置函数?(如何查看python模块的依赖包)

    如何查看 Python 全部内置变量和内置函数?(如何查看python模块的依赖包)

  • 吸收合并的税务问题
  • 资产交换的涉税处理
  • 增值税进项税额加计抵减政策
  • 已交税金是什么类
  • 个体工商户个税怎么申报
  • 财务软件无形资产摊销几年
  • 年初未分配利润和年末未分配利润的关系
  • 高新技术企业费用认定
  • 经营性文化事业单位有哪些
  • 用友如何结转本年利润到未分配利润
  • 销售免税药品要进项税额转出吗
  • 主营业务收入如何红冲
  • 新会计准则有预提费用吗
  • 辅助生产交互分配后的实际费用应在进行分配
  • 小微企业季度超过45万如何填申报表
  • 上报汇总和抄报是一个意思吗
  • 减免税费期末如何结转
  • 2017年8月1日到现在多少天
  • 国家税务总局2011年第25号公告
  • 银行处置以物抵债违法吗
  • 货物退回发票冲红会计分录
  • 耕地占用税与土地出让金
  • 准予抵扣的进项税额有哪些
  • 暂估入库会影响利润吗
  • 农产品零税率
  • 资产减值损失借方余额在利润表怎么填列
  • 固定资产摊销怎么做
  • 注册资本需要缴清吗
  • 小企业成本核算方法有哪几种
  • 如何把两个人的照片合在一起
  • 商贸企业零部件出口退税政策
  • php socket函数
  • 微软预购
  • 公司用车车祸一般谁负责
  • 公益性捐赠支出的标准
  • msmpeng.exe是什么进程
  • 计提税金及附加怎么算
  • 人民币账户购汇支付
  • 阿查法拉亚盆地 钓鱼
  • 若依框架前后端分离手机号登录
  • phpsessid是什么
  • 利用matlab作图
  • 2021年车辆检测
  • 【K210】K210学习笔记七——使用K210拍摄照片并在MaixHub上进行训练
  • js防抖节流的区别和使用场景
  • 电梯销售公司利润
  • 帝国cms生成app
  • 以前年度租赁收入如何处理
  • 公司不按股权比例分红是否合法
  • 财务报表的填写要求
  • db2 linux
  • 高铁票丢失了可以补打吗
  • 买车进项税
  • 本年利润会计分录怎么写
  • 企业的哪些支出不得列入成本费用原因
  • 消费税直接计入销售额吗
  • 行政事业单位核销固定资产的账务处理
  • 企业间拆借资金要交印花税吗
  • 红冲凭证怎么做分录
  • 交易性金融资产的账务处理
  • 群发网址
  • win8关闭触屏
  • 监控iphone软件
  • windows无法
  • xp系统怎么添加ip地址
  • linux文件压缩和解压缩命令
  • suse linux教程
  • linux系统的内存分配和回收采用什么算法?
  • win7打开文件总是询问
  • 未知类型的文件怎么打开
  • unity脚本编写教程
  • JavaScript的strict模式与with关键字介绍
  • angularjs2
  • activity启动流程图解
  • for语句中的++i
  • oracle批处理语句
  • android4.4.2升级包
  • Android使用领域是什么
  • 工会经费税务代收
  • 个人所得税代扣代缴手续费退库申请
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设