[發明專利]一種實現ARMCPU用戶態收發報文的方法有效
| 申請號: | 201410232336.0 | 申請日: | 2014-05-29 |
| 公開(公告)號: | CN104050101B | 公開(公告)日: | 2018-02-13 |
| 發明(設計)人: | 高福亮 | 申請(專利權)人: | 漢柏科技有限公司 |
| 主分類號: | G06F12/1036 | 分類號: | G06F12/1036;G06F9/50 |
| 代理公司: | 北京中政聯科專利代理事務所(普通合伙)11489 | 代理人: | 陳超 |
| 地址: | 300384 天津市西青*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 實現 arm cpu 用戶 收發 報文 方法 | ||
技術領域
本發明屬于計算機網絡技術領域,具體涉及一種實現ARM CPU用戶態收發報文的方法。
背景技術
ARM CPU多為內核驅動,網口初始化與收發包都部署在內核態,這樣在數據報文大流量的沖擊下會引發大量的中斷,導致消耗一定的CPU資源,同時Linux操作系統的內核態到用戶態的數據拷貝也會損耗大量的CPU性能,如果能夠使用用戶態來收發報文,則會大大提高設備的轉發報文性能。
因此,有必要提供一種實現ARM CPU用戶態收發報文的方法,使得用戶態空間可以訪問到DMA的內存,實現用戶態收發報文,以解決上述技術問題。
發明內容
本發明的目的是提供一種實現ARM CPU用戶態收發報文的方法,使得用戶態空間可以訪問到DMA的內存,實現用戶態收發報文,以解決使用內核態收發報文導致消耗大量CPU性能,不利于提高設備轉發性能的缺陷。
根據本發明的一個方面,提供一種實現ARM CPU用戶態收發報文的方法,包括以下步驟:步驟S1,對ARM網口的內核驅動進行整改,除去Linux內核中ARM網口初始化函數中掛載的關于中斷及收發包的函數;步驟S2,將所述除去的ARM網口初始化函數中關于收發包的函數移植到用戶態;步驟S3,用戶態在初始化時從內核獲取大塊連續內存,并對這塊物理連續內存進行單獨管理,使得用戶態空間可以訪問到DMA的內存;步驟S4,用戶態在初始化時進行與ARM網口收發相關的硬件寄存器的配置,使得收發包過程中用戶態可以讀寫與ARM網口收發相關的硬件控制寄存器;步驟S5,用戶態進行收發報文。
其中,在上述發明中,所述步驟S2進一步包括:步驟S21,將與ARM網口收發包相關的處理函數移植到用戶態;步驟S22,對用戶態中植入后的與ARM網口收發包相關的處理函數進行整改,去掉一些用戶態不需要的操作;步驟S23,創建線程進行收包,編譯鏈接生成可執行程序。
其中,在上述發明中,所述收包采用輪詢方式進行。
其中,在上述發明中,所述步驟S3進一步包括:步驟S31,在Linux內核初始化時,申請大塊連續內存,以備用戶態收發包申請skb使用;步驟S32,用戶態初始化時,通過ioctl方式從內核獲取已申請的所述大塊連續內存的地址和大小;步驟S33,采用mmap函數將所述大塊連續內存的地址映射為用戶態可操作的虛擬地址,使得收發包使用的skb申請和釋放可以在映射后的這塊內存中進行。
其中,在上述發明中,所述步驟S31進一步包括:在Linux內核初始化時,利用Bigphysarea申請所述大塊連續內存,以備用戶態收發包申請skb使用。
其中,在上述發明中,所述已申請的所述大塊連續內存的大小為300M。
其中,在上述發明中,所述步驟S4進一步包括:步驟S41,用戶態在初始化時獲取與ARM網口收發相關的硬件寄存器的物理基地址及寄存器空間的大小;步驟S42,將所述獲取的硬件寄存器的物理基地址及寄存器空間的大小定義為宏,通過mmap函數將硬件寄存器的基地址映射為用戶態虛擬地址。
其中,在上述發明中,所述步驟S5進一步包括:用戶態通過執行ARM網口的收發包初始化函數,分配收發資源,控制寄存器的配置、接口注冊及收發函數掛載,來實現收發報文。
其中,在上述發明中,所述分配收發的資源包括隊列、描述符和buffer緩存。
根據本發明的一種實現ARM CPU用戶態收發報文的方法,將ARM網口的內核驅動進行整改并在內核進行加載,而將網絡數據報文的收發則移植到用戶態,消除了內核態收發包觸發大量中斷及數據包到用戶態拷貝致使消耗大量CPU性能的缺陷,提高了設備的轉發性能。
附圖說明
圖1顯示了現有技術中的Linux內核態收發報文的結構示意圖;
圖2顯示了本發明的實現ARM CPU用戶態收發報文的結構示意圖;
圖3顯示了本發明優選實施例的實現ARM CPU用戶態收發報文方法的流程圖;
圖4顯示了圖3中步驟S2的子流程圖;
圖5顯示了圖3中步驟S3的子流程圖;
圖6顯示了圖3中步驟S4的子流程圖。
具體實施方式
為使本發明的目的、技術方案和優點更加清楚明了,下面結合具體實施方式并參照附圖,對本發明進一步詳細說明。應該理解,這些描述只是示例性的,而并非要限制本發明的范圍。此外,在以下說明中,省略了對公知結構和技術的描述,以避免不必要地混淆本發明的概念。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于漢柏科技有限公司,未經漢柏科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410232336.0/2.html,轉載請聲明來源鉆瓜專利網。





