Linux e1000e網卡驅動

目錄算法

  • 識別網卡
  • 命令行參數
  • 附加配置
  • 技術支持


1、識別網卡
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

2、命令行參數
參數的默認值通常都是推薦的設置,除非是有特別提示。
提示:InterruptThrottleRate,RxIntDelay, TxIntDelay, RxAbsIntDelay, TxAbsIntDelay,app

以上參數的詳細信息參考: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,會設置網卡每秒發送出去的中斷的最大值,即便受到了更多的報文。ide

這樣減小了系統中斷的負載並能下降CPU利用率,可是會增長處理報文的延遲。

驅動默認是假定InterruptThrottleRate的值是8000,綜合來看,這對全部流量類型的報文都是很好的,可是缺少對小報文的性能和延遲。性能

硬件每秒能處理更多的小報文,由此一個自適應的中斷調節算法就應運而生了。

驅動有2種自適應模式(設置爲1,3),都能基於它收到的流量來動態調節InterruptThrottleRate的值。網站

在判斷出收到流量的類型的最後一個時間段,會調整InterruptThrottleRate到一個合適的值。
算法對每個時間間隔收到的流量進行分類,一旦類型肯定了,InterruptThrottleRate的值就會調整到這個類型的最佳的值。有3種已經定義好的類型:ui

  • "Bulk traffic" 適用於大流量的正常大小的報文
  • "Low latency" 適用於小流量或佔大比例的小報文的流量
  • "Lowest latency" 適用於幾乎全是小報文或者小流量


在動態保守模式(dynamic conservative),InterruptThrottleRate在"Bulk traffic"類型是設置爲4000。命令行

若是是"Low latency"或者"Lowest latency"類型,InterruptThrottleRate會逐步的上升,直到20000。htm

這個默認的模式對大多數應用程序都很適用。

對那些對低延遲相當重要的狀況,好比集羣或網格計算,算法會下降延遲甚至會設置成模式1,在模式1下,會逐步增加InterruptThrottleRate到70000,類型爲"Lowest latency"。

在精簡模式(simplified),中斷的速率是基於TX與RX流量的比例來設置的。若是bps(bytes per second)速率近似相同,中斷速率會慢慢降低到每秒2000箇中斷。ci

若是流量大多數的是發送或者大多數的是接收,中斷速率能高達8000。集羣

相關文章
相關標籤/搜索