首页 > 代码库 > Linux e1000e网卡驱动

Linux e1000e网卡驱动

目录

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


一、识别网卡
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网卡驱动