欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Linux中多隊列網卡硬件的示例分析

小編給大家分享一下Linux中多隊列網卡硬件的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

十年的沁源網站建設經驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。網絡營銷推廣的優(yōu)勢是能夠根據用戶設備顯示端的尺寸不同,自動調整沁源建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯公司從事“沁源網站設計”,“沁源網站推廣”以來,每個客戶項目都認真落實執(zhí)行。

多隊列網卡是一種技術,最初是用來解決網絡IO QoS (quality of service)問題的,后來隨著網絡IO的帶寬的不斷提升,單核CPU不能完全處滿足網卡的需求,通過多隊列網卡驅動的支持,將各個隊列通過中斷綁定到不同的核上,以滿足網卡的需求。

常見的有Intel的82575、82576,Boardcom的57711等,下面以公司的服務器使用較多的Intel 82575網卡為例,分析一下多隊列網卡的硬件的實現以及l(fā)inux內核軟件的支持。

1.多隊列網卡硬件實現

圖1.1是Intel 82575硬件邏輯圖,有四個硬件隊列。當收到報文時,通過hash包頭的SIP、Sport、DIP、Dport四元組,將一條流總是收到相同的隊列。同時觸發(fā)與該隊列綁定的中斷。

Linux中多隊列網卡硬件的示例分析

圖1.1 82575硬件邏輯圖

2. 2.6.21以前網卡驅動實現

kernel從2.6.21之前不支持多隊列特性,一個網卡只能申請一個中斷號,因此同一個時刻只有一個核在處理網卡收到的包。如圖2.1,協議棧通過NAPI輪詢收取各個硬件queue中的報文到圖2.2的net_device數據結構中,通過QDisc隊列將報文發(fā)送到網卡。

Linux中多隊列網卡硬件的示例分析

圖2.1 2.6.21之前內核協議棧

Linux中多隊列網卡硬件的示例分析

圖2.2 2.6.21之前net_device

3. 2.6.21后網卡驅動實現

2.6.21開始支持多隊列特性,當網卡驅動加載時,通過獲取的網卡型號,得到網卡的硬件queue的數量,并結合CPU核的數量,最終通過Sum=Min(網卡queue,CPU core)得出所要激活的網卡queue數量(Sum),并申請Sum個中斷號,分配給激活的各個queue。

如圖3.1,當某個queue收到報文時,觸發(fā)相應的中斷,收到中斷的核,將該任務加入到協議棧負責收包的該核的NET_RX_SOFTIRQ隊列中(NET_RX_SOFTIRQ在每個核上都有一個實例),在NET_RX_SOFTIRQ中,調用NAPI的收包接口,將報文收到CPU中如圖3.2的有多個netdev_queue的net_device數據結構中。

這樣,CPU的各個核可以并發(fā)的收包,就不會應為一個核不能滿足需求,導致網絡IO性能下降。

Linux中多隊列網卡硬件的示例分析

圖3.1 2.6.21之后內核協議棧

Linux中多隊列網卡硬件的示例分析

圖3.2 2.6.21之后net_device

4.中斷綁定

當CPU可以平行收包時,就會出現不同的核收取了同一個queue的報文,這就會產生報文亂序的問題,解決方法是將一個queue的中斷綁定到唯一的一個核上去,從而避免了亂序問題。同時如果網絡流量大的時候,可以將軟中斷均勻的分散到各個核上,避免CPU成為瓶頸。

Linux中多隊列網卡硬件的示例分析

圖4.1 /proc/interrupts

5.中斷親合糾正

一些多隊列網卡驅動實現的不是太好,在初始化后會出現圖4.1中同一個隊列的tx、rx中斷綁定到不同核上的問題,這樣數據在core0與core1之間流動,導致核間數據交互加大,cache命中率降低,降低了效率。

Linux中多隊列網卡硬件的示例分析

圖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所示。

Linux中多隊列網卡硬件的示例分析

Linux中多隊列網卡硬件的示例分析

圖4.2 set_irq_affinity

Linux中多隊列網卡硬件的示例分析

圖4.3 合理的中斷綁定

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

以上是“Linux中多隊列網卡硬件的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道!

網頁題目:Linux中多隊列網卡硬件的示例分析
鏈接分享:http://aaarwkj.com/article16/gjdsdg.html

成都網站建設公司_創(chuàng)新互聯,為您提供微信小程序網頁設計公司、靜態(tài)網站網站改版、網站制作域名注冊

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

成都seo排名網站優(yōu)化
免费国产污网站在线观看| 日韩欧美国产亚洲在线| 日韩三级视频一区二区| 欧美夫妻成人性生活视频| 精品蜜臀国产av一区二区| 亚洲精品高清一区二区| 夫妻性生活短是什么原因| 国产日韩欧美亚洲中文| 欧美欧美欧美欧美在线| 激情啪啪啪的免费网站| 午夜男女激情在线观看| 亚洲成人午夜免费在线观看| 青青草青娱乐免费在线视频 | 欧美亚洲五月婷婷激情| 十八禁在线观看网址免费| 欧美小黄片在线免费看| 熟女中文字幕亚洲一区二区| 亚洲一区二区三区熟女少妇| 国产传媒在线观看精品| 亚洲av成人av天堂| 午夜精品久久福利视频| 日本一区不卡二区高清| 亚洲av永久精品桃色| 中文字幕二区三区人妻| 亚洲午夜福利理论片在线| 欧美日韩国产一区在线观看| 欧美亚洲另类色自拍偷拍| 国产一级精品自拍视频| 欧美日韩黄色的三级视频| 亚洲中文字幕激情中午字幕| 欧美成人高清在线播放| 日本人妻精品在线观看| 亚洲一区二区三区色偷偷| 欧美性生活真实的视频| 日韩新片免费专区在线| 久久精品欧美日韩视频| 色花堂国产精品第二页| 国内精品老年人视频网站| 久久精品亚洲欧美麻豆| 国产精品情侣av自拍| 日韩高清精品视频在线|