當前位置:首頁 » 幣種行情 » x86eth中斷

x86eth中斷

發布時間: 2024-12-14 12:53:46

1. 網卡多隊列

CPU在運行的時候遇到的一些事件, 這些事件有可能是線性程序本身出現的,那也有可能是在CPU的外部 甚至是整個系統的外部出現的事件。那麼 這時就要求CPU強行中止現在正在運行的程序。 並且從一個新的存儲器區域啟動相應的程序去處理這些事件。 還有一點也很重要,就是在處理完這些事件之後,CPU需要恢復到原來的程序繼續運行。 那這些事件就被稱為中斷或者異常。

將CPU運行程序所引發的特殊的事件稱為軟體中斷, 而把外部的這些輸入輸出設備產生的事件稱為升殲硬體中斷。

X86系統採用中斷機制協同處理CPU與其他設備工作。長久以來網卡的中斷默認由cpu0處理,態租在大量小包的網路環境下可能出現cpu0負載高,而其他cpu空閑。後來出現網卡多隊列技術解決這個問題。

當網卡收到數據包時會產生中斷,通知內核有新數據包,然後內核調用中斷處理程序進行響應,把數據包從網卡緩存拷貝到內存,因為網卡緩存大小有限,如果不及時拷出數據,後續數據包將會因為緩存溢出被丟棄,因此這一工作需要立即完成。剩下的處理和操作數據包的工作就會交給軟中斷。高負載的網卡是軟中斷產生的大戶,很容易形成瓶頸。

可以通過顯示/proc/interrupts來顯示中斷信息:

從圖可以看到"124"、"125"分別為eth2-TxRx-0和eth2-TxRx-1的中斷號。

如果有24個CPU的話,那麼將會存在24個這樣的中斷號,從eth2-TxRx-0到eth2-TxRx-23。

每一個中斷號表示一個網卡的工作隊列,在有24個CPU的機器里,每個網卡需要存在24個網路隊列。

通過將中斷號綁定到多CPU並沒有真正實現中斷的分配。支持RSS的網卡,通過多隊列技術,每個隊列對應一個中斷號,通過對每個中斷的綁定,可以實現網卡中斷在cpu多核上的分配。

中斷親和力是指將一個或多個中斷源綁定到特定的 CPU 核心上運行。

/proc/irq/[irq_num]/smp_affinity_list :該文件存放的是CPU列表(十進制)。注意,CPU核心個數用表示編號從0開始,如cpu0,cpu1等

根據上圖所示,124號帆笑兆中斷為網卡eth2的第一個網路隊列的中斷號。我們將它綁定到CPU0上。

echo 0 >/proc/irq/124/smp_affinity_list

根據上面信息可以從/proc/interrupts獲取CPU中斷號信息,來寫腳本實現自動綁定。

使用top命令,然後輸入 1 。

其中 0.0%si 表示當前的軟中斷(software interrupt)的使用率。

熱點內容
區塊鏈概念股龍頭股宣亞 發布:2024-12-14 18:35:09 瀏覽:285
eth幣走勢2018 發布:2024-12-14 18:02:41 瀏覽:534
新文有沒有報比特幣 發布:2024-12-14 17:45:24 瀏覽:236
eth難度會 發布:2024-12-14 17:44:07 瀏覽:248
區塊鏈elf白皮書 發布:2024-12-14 17:27:01 瀏覽:920
長沙礦工580算力 發布:2024-12-14 17:19:29 瀏覽:281
天天挖礦吧 發布:2024-12-14 17:18:23 瀏覽:732
eth收款地址會不會變 發布:2024-12-14 17:18:22 瀏覽:224
怎麼關閉信用卡合約還款 發布:2024-12-14 16:45:09 瀏覽:680
比特幣執行貨幣的什麼職能 發布:2024-12-14 16:44:15 瀏覽:292