目录

  • 识别网卡
  • 命令行参数
  • 附加配置
  • 技术支持

一、识别网卡
e1000e驱动支持Intel所有的GbE PCIe网卡,除了82575,82576,基于82580系列的网卡。
提示:Intel(R) PRO/1000 P Dual网卡是支持e1000,但不支持e1000e,因为82546部分支持PCIe。

更多信息关于怎么识别你的网卡,去官网的 Adapter & Driver ID Guide:
  http://support.intel.com/support/go/network/adapter/idguide.htm

对于最新的Intel网卡驱动,参考下面网站,输入网卡名或者类型就能搜索到:
  http://support.intel.com/support/go/network/adapter/home.htm

二、命令行参数
参数的默认值一般都是推荐的设置,除非是有特别提示。
提示:InterruptThrottleRate,RxIntDelay, TxIntDelay, RxAbsIntDelay, TxAbsIntDelay,

以上参数的详细信息参考:http://www.intel.com/design/network/applnots/ap450.htm

InterruptThrottleRate
有效范围: 0,1,3,4,100-100000(0=off, 1=dynamic, 3=dynamic conservative,4=simplified balancing)
默认值: 3

驱动可以限制网卡为收到的报文生成中断的数量的频率,即每秒生成的中断个数。驱动通过设置网卡每秒中断数量的最大值来实现这个功能。
设置InterruptThrottleRate的值大于等于100,会设置网卡每秒发送出去的中断的最大值,即使受到了更多的报文。

这样减少了系统中断的负载并能降低CPU利用率,但是会增加处理报文的延迟。

驱动默认是假定InterruptThrottleRate的值是8000,综合来看,这对所有流量类型的报文都是很好的,但是缺乏对小报文的性能和延迟。

硬件每秒能处理更多的小报文,由此一个自适应的中断调节算法就应运而生了。

驱动有2种自适应模式(设置为1,3),都能基于它收到的流量来动态调节InterruptThrottleRate的值。

在判断出收到流量的类型的最后一个时间段,会调整InterruptThrottleRate到一个合适的值。
算法对每一个时间间隔收到的流量进行分类,一旦类型确定了,InterruptThrottleRate的值就会调整到这个类型的最佳的值。有3种已经定义好的类型:

  • "Bulk traffic" 适用于大流量的正常大小的报文
  • "Low latency" 适用于小流量或占大比例的小报文的流量
  • "Lowest latency" 适用于几乎全是小报文或者小流量

在动态保守模式(dynamic conservative),InterruptThrottleRate在"Bulk traffic"类型是设置为4000。

如果是"Low latency"或者"Lowest latency"类型,InterruptThrottleRate会逐步的上升,直到20000。

这个默认的模式对大多数应用程序都很适用。

对那些对低延迟至关重要的情况,比如集群或网格计算,算法会降低延迟甚至会设置成模式1,在模式1下,会逐步增长InterruptThrottleRate到70000,类型为"Lowest latency"。

在精简模式(simplified),中断的速率是基于TX与RX流量的比例来设置的。如果bps(bytes per second)速率近似相同,中断速率会慢慢下降到每秒2000个中断。

如果流量大多数的是发送或者大多数的是接收,中断速率能高达8000。

Linux e1000e网卡驱动的更多相关文章

  1. linux enc28j60网卡驱动移植(硬件spi和模拟spi)

    本来想移植DM9000网卡的驱动,无奈硬件出了点问题,通过杜邦线链接开发板和DM9000网卡模块,系统上电,还没加载网卡驱动就直接崩溃了,找不到原因...刚好手上有一个enc28j60的网卡模块,于是 ...

  2. Linux PCI网卡驱动的详细分析

    学习应该是一个先把问题简单化,在把问题复杂化的过程.一开始就着手处理复杂的问题,难免让人有心惊胆颤,捉襟见肘的感觉.读Linux网卡驱动也是一 样.那长长的源码夹杂着那些我们陌生的变量和符号,望而生畏 ...

  3. e1000e网卡驱动在麒麟3.2.5上编译安装

    一.清空原驱动 因为系统安装完毕后系统中自带了e1000e的网卡驱动,会影响后面自行编译的驱动 所以先用find命令找出并删除掉所有关于e1000e的驱动文件 find / -name "* ...

  4. linux查看网卡驱动

    [root@hudson ~]# yum install ethtool -y [root@hudson ~]# ethtool -i em1driver: bnx2version: 2.2.3fir ...

  5. linux 编译网卡驱动

    将smsc7500网卡驱动拷贝到/drive/net/usb文件夹下 拷贝ioctl_7500.h  smsc7500usbnet.c smsc7500version.h smsclan7500.h ...

  6. 怎样在linux下安装网卡驱动

    由于我电脑的各种奇葩问题的存在,导致我装上Ubuntu13.10之后网卡居然无法使用,坚持了挺久使用无线网,终于坚持不住了,百度了各种解决方式,终于成功解决.这里也记录一下我的解决过程,供大家参考.大 ...

  7. 新装Linux系统没有网卡驱动的解决办法和步骤

    Linux下查看网卡驱动和版本信息 - CSDN博客 https://blog.csdn.net/guyan1101/article/details/72770424/ 检查网卡是否加载 - Linu ...

  8. CentOS下安装网卡驱动

    前言最近,一台机器从FreeBSD换为CentOS,一路安装顺利.完事之后发现,网卡没有启用,dmesg | grep eth 命令确定网卡没有驱动导致的.于是开始了一路艰辛的安装过程. 安装过程1. ...

  9. linux 系统网卡无法识别,缺少驱动

    #linux网卡驱动安装# Linux设备加载 #lsmod Module Size Used by e1000e 查看硬件设备 ls /usr/share/hwdata 查看pci网卡设备 lspc ...

随机推荐

  1. iOS之网络请求及各类错误代码含义总结(包含AFN错误码大全)

    转自http://blog.csdn.net/wangyanchang21/article/details/50932191 在很多时候都会遇到错误, 还会带有一些 Error Code , 比如在各 ...

  2. c++ 数字和字符串的相互转换

    需要包含头文件<sstream> 字符串转化为int #include<stdio.h> #include<string.h> #include<iostre ...

  3. 【原创】如何治疗使用python中re模块group、groups与findall分组匹配后产生的“眩晕反应”

      转载请注明出处:https://www.cnblogs.com/oceanicstar/p/9244783.html   直接先上例子 >>> re.search('(book+ ...

  4. 【控制连接实现信息共享---linux和设备下ssh和远程连接telnet服务的简单搭建】

    SSH的配置 空密码登陆ssh server 如果要登录ssh server通常要在server和client之间采取具有共同加密的秘钥,若每次当client想要了:连接ssh server时都要手工 ...

  5. JS如何给ul下的所有li绑定点击事件,点击使其弹出下标和内容

    这是一个非常常见的面试题,出题方式多样,但考察点相同,下面我们来看看这几种方法:方法一: var itemli = document.getElementsByTagName("li&quo ...

  6. 【转】Android开发之ListView+EditText-要命的焦点和软键盘问题解决办法

    Android开发之ListView+EditText-要命的焦点和软键盘问题解决办法 [原文链接] 这篇文章完美的解决了我几个月没结论的bug... 感谢热爱分享的技术达人~ 我是怎么走进这个大坑的 ...

  7. 再谈js传值和传址

    js的传值和传址还是真绕,前回文说道 1.值类型是传值的 2.对象和数组是传址的 这两点通过例子的到了证实 然而还有一种情况没有讨论 即 函数的参数的传值和传址 通过实验,在函数中用一个新对象去覆盖传 ...

  8. Linux:如何获取打开文件和文件描述符数量

    一.linux的文件描述符 文件描述符(FD:file descriptors),也可以说是文件句柄,当某个程序打开文件时,内核返回相应的文件描述符,程序为了处理该文件必须引用此描述符.文件描述符是一 ...

  9. python中的os,shutil模块的定义以及用法

    # os 模块 os.sep 可以取代操作系统特定的路径分隔符.windows下为 '\\' os.name 字符串指示你正在使用的平台.比如对于Windows,它是'nt',而对于Linux/Uni ...

  10. 8 TFTP代码详解 协议写在程序中

    1.版本1:发送请求 # -*- coding:utf-8 -*- import struct from socket import * #0. 获取要下载的文件名字: downloadFileNam ...