DPDK在國產(chǎn)龍芯平臺的移植及評估
【文章頁數(shù)】:5 頁
【部分圖文】:
圖1DPDK架構(gòu)
DPDK開發(fā)套件包含硬件抽象庫(EAL)、網(wǎng)卡輪詢驅(qū)動、內(nèi)存池管理、無鎖隊(duì)列等一系列組件,其系統(tǒng)架構(gòu)如圖1所示。從圖1中可以看出DPDK的EAL組件承上啟下,在內(nèi)核空間、用戶空間均有出現(xiàn),EAL完成對各種硬件平臺、操作系統(tǒng)的適配工作,也是移植中需重點(diǎn)關(guān)注的部分。
圖2DPDK代碼結(jié)構(gòu)
本次移植基于DPDK17.11.4版本進(jìn)行,代碼結(jié)構(gòu)如圖2所示。在DPDK中新增架構(gòu)支持需調(diào)整config、lib、mk目錄相關(guān)的配置文件、EAL組件和編譯配置[4]。
圖3rte_atomic32_add實(shí)現(xiàn)
原子操作包括內(nèi)存屏障函數(shù),16位、32位、64位的原子加減、CAS函數(shù)。這里以rte_atomic32_add為例做說明,其龍芯平臺實(shí)現(xiàn)如圖3所示[5-6]。(2)CPU時間標(biāo)簽計(jì)數(shù)器操作
圖4rte_rdtsc實(shí)現(xiàn)
該操作用于快速獲得CPU時間戳,可避免使用開銷較大的系統(tǒng)函數(shù)gettimeofday。這在數(shù)據(jù)包輪詢處理中非常有用。其函數(shù)為rte_rdtsc,實(shí)現(xiàn)如圖4所示[5-6]。其他組件的移植實(shí)現(xiàn)不再詳細(xì)敘述。
本文編號:3944396
本文鏈接:http://www.sikaile.net/kejilunwen/jisuanjikexuelunwen/3944396.html