青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

xiaoxiaoling

C++博客 首頁 新隨筆 聯系 聚合 管理
  17 Posts :: 2 Stories :: 9 Comments :: 0 Trackbacks


dpdk是通過許多不同的緯度來加速包處理的,其中主要包括:

 

hugepage大頁內存(進程使用的是虛擬地址,一般頁表(4k)能映射的虛擬地址空間有限,使用大頁能減少換頁次數提高cache命中,通過mmap把大頁映射到用戶態的虛擬地址空間有用過mmap的都知道這是實現共享內存的手段,所以dpdk還支持多進程共享內存)

 

cache預取 (每次預讀當前數據相鄰前后的數據),批量操作數據,cache line對齊(通過浪費一點內存將要操作的數據對齊)

 

接管了網卡用戶態驅動使用輪詢而不是網卡中斷

 

將網卡rx tx隊列映射到用戶態空間實現真正的零拷貝(傳統堆棧至少也得一次拷貝,因為隊列空間在內核而內核和用戶態使用不同的地址空間)(傳統堆棧為了支持通用性,例如ipx等其他網絡,將包處理過程分了很多層次,層之間的接口標準統一數據結構就需要轉換,無形中帶來了巨大的成本,如osi七層模型而實用的就是tcp/ip四層模型)

 

線程綁定cpu

 

支持NUMA,不同的core屬于不同的node,每個node有自己的mempool減少沖突

 

無鎖環形隊列(沖突發生時也是一次cas的開銷)

 

dpdk通過tools/dpdk-setup.sh的腳本,通過編譯、掛載內核模塊, 綁定網卡(先把網卡ifconfig down),設置hugepage后就可以使用了。

 

 

在內核模塊igb加載時,會注冊pci設備驅動

static struct pci_driver igbuio_pci_driver = {

.name = "igb_uio",

.id_table = NULL,

.probe = igbuio_pci_probe,

.remove = igbuio_pci_remove,

};

 

在綁定網卡時,會調用igbuio_pci_probe,使用用戶態驅動uio接管網卡(中斷處理、mmap映射設備內存到用戶空間)

系統啟動時,bios會將設備總線地址信息記錄在/sys/bus/pci/devices,dpdk程序啟動時會去這里掃描pci設備,根據不同類型的NIC有對應的初始化流程。在后面配置隊列的時候會把用戶態的隊列內存地址通過硬件指令交給NIC,從而實現零拷貝。


 

如果NIC收到包,會做標記,輪詢的時候通過標記取數據包

while (nb_rx < nb_pkts) {

/*

 * The order of operations here is important as the DD status

 * bit must not be read after any other descriptor fields.

 * rx_ring and rxdp are pointing to volatile data so the order

 * of accesses cannot be reordered by the compiler. If they were

 * not volatile, they could be reordered which could lead to

 * using invalid descriptor fields when read from rxd.

 */

rxdp = &rx_ring[rx_id];

staterr = rxdp->wb.upper.status_error;

if (! (staterr & rte_cpu_to_le_32(E1000_RXD_STAT_DD)))

break;

rxd = *rxdp;

發包的輪詢就是輪詢發包結束的硬件標志位,硬件發包完成會寫回標志位,驅動發現后再釋放對應的描述符和緩沖塊。

 

KNI

通過創建一個虛擬網卡,將收到的包丟給協議棧

 /* 發送skb到協議棧 */

            /* Call netif interface */

            netif_receive_skb(skb);

 

POWER

在負載小的時候沒有必要使用輪詢模式,這時可以打開網卡中斷 使用eventfd  epoll通知用戶層

 

Ring

無鎖環形隊列的核心就是操作頭尾索引,先將頭尾索引賦給臨時變量,再把尾索引往后跳n個位置,利用cas判斷頭如果還是在原來的位置就指向尾否則就重復這個過程,然后在操作中間跳過的n個元素就是安全的了,此時頭尾索引應該指向同一個位置,如果不同應該是有別的線程也在操作,重復等待即可。(這里有個細節,索引是只加不減的,因為是環形隊列索引又是unsigned 32bits,所以每次取數據前把索引模隊列長度-1, uint32_t mask;           /**< Mask (size-1) of ring. */即可)

 

Windows下使用vmware虛擬機的時候出現EAL: Error reading from file descriptor,根據網上的說法打了patch還是不行,后來嘗試掛載內核模塊的時候不加載vfio模塊就可以了

 

posted on 2017-02-05 14:08 clcl 閱讀(903) 評論(0)  編輯 收藏 引用
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产有码一区二区| 国产精品一二三| 亚洲人午夜精品免费| 欧美在线亚洲在线| 欧美一级大片在线观看| 午夜精品福利电影| 久久久久成人精品| 久久综合九色99| 欧美激情第1页| 99精品欧美一区二区三区综合在线 | 亚洲一区二区免费视频| 在线综合亚洲欧美在线视频| 亚洲伊人伊色伊影伊综合网| 久久久97精品| 欧美巨乳波霸| 国产欧美精品xxxx另类| 亚洲国产aⅴ天堂久久| 亚洲色图自拍| 久久午夜羞羞影院免费观看| 亚洲美女性视频| 香蕉久久一区二区不卡无毒影院 | 久久精品卡一| 欧美日韩日本网| 国语精品中文字幕| 亚洲视频在线二区| 欧美精品一卡| 欧美在线免费一级片| 欧美成人一区二区三区| 国产精品久久中文| 亚洲剧情一区二区| 久久精品一区| 亚洲天堂av在线免费| 蜜臀av一级做a爰片久久| 国产麻豆综合| 亚洲一区中文| 亚洲欧洲视频在线| 久久深夜福利| 国产一区二区三区高清在线观看| 一本久道久久久| 母乳一区在线观看| 亚洲欧美在线aaa| 欧美日韩小视频| 日韩一区二区免费看| 免费在线欧美黄色| 久久九九久久九九| 国产香蕉97碰碰久久人人| 亚洲嫩草精品久久| 一区二区欧美日韩| 欧美日韩人人澡狠狠躁视频| 亚洲乱码国产乱码精品精可以看| 欧美a一区二区| 久久久久久久综合狠狠综合| 国产精品最新自拍| 午夜一区在线| 亚洲男人天堂2024| 国产精品午夜在线| 欧美一区二区精品久久911| 中国成人亚色综合网站| 欧美天天视频| 午夜精品久久久久| 亚洲在线国产日韩欧美| 国产精品一二| 久久久久欧美精品| 久久久国产精彩视频美女艺术照福利| 国产亚洲亚洲| 久久影院亚洲| 蜜桃av久久久亚洲精品| 亚洲日本乱码在线观看| 亚洲精品久久久久久久久久久久| 欧美激情综合| 亚洲一二三区精品| 亚洲一区黄色| 国内精品国语自产拍在线观看| 久久久夜精品| 欧美激情亚洲| 亚欧美中日韩视频| 久久精品亚洲精品国产欧美kt∨| 在线不卡免费欧美| 亚洲国产成人久久| 欧美日韩蜜桃| 久久精品视频va| 男女av一区三区二区色多| 一本色道**综合亚洲精品蜜桃冫 | 这里只有精品视频在线| 欧美视频一区在线观看| 午夜视频一区在线观看| 亚洲欧美日韩久久精品| 国产欧亚日韩视频| 欧美二区在线看| 国产精品成人在线| 美女脱光内衣内裤视频久久影院 | 国产精品美女久久久浪潮软件| 亚洲一区二区视频| 久久精品91久久香蕉加勒比| 亚洲精品国产精品国自产在线| 99视频国产精品免费观看| 国产欧美一区二区精品仙草咪| 欧美成人精品一区二区三区| 欧美日韩日本国产亚洲在线| 老司机成人在线视频| 欧美日韩一二区| 蜜桃av综合| 国产乱子伦一区二区三区国色天香| 欧美刺激午夜性久久久久久久| 国产精品第一区| 欧美成人一品| 国产一区二区三区成人欧美日韩在线观看| 亚洲激情一区二区三区| 激情久久久久久久久久久久久久久久| 欧美日韩一区综合| 久久久另类综合| 国产精品国产三级国产 | 欧美与欧洲交xxxx免费观看| 国产精品99久久久久久久女警| 久久综合久久美利坚合众国| 欧美一区二区啪啪| 欧美日韩不卡| 欧美激情一区二区三区不卡| 国产亚洲欧美日韩在线一区| 制服诱惑一区二区| 亚洲小说春色综合另类电影| 噜噜噜噜噜久久久久久91| 久久久久国产一区二区| 欧美午夜在线视频| 亚洲精品久久久久久下一站| 亚洲电影在线看| 久久久久九九九| 久久久久久夜精品精品免费| 国产欧美综合在线| 亚洲欧美视频在线观看| 午夜精品理论片| 国产精品成人国产乱一区| 日韩写真视频在线观看| 在线视频欧美一区| 欧美日韩专区在线| 日韩视频永久免费| 亚洲一区二区欧美日韩| 国产精品高潮呻吟久久av无限| 中文有码久久| 欧美一区二区三区四区在线观看| 国产精品视频免费观看| 亚洲欧美在线另类| 久久一区二区三区国产精品| 久久久久国产精品一区三寸| 久久久爽爽爽美女图片| 国产麻豆综合| 欧美一区二区三区在线免费观看| 欧美一级一区| 国产日韩精品一区二区浪潮av| 亚洲欧美日韩另类精品一区二区三区| 欧美一级日韩一级| 国产亚洲va综合人人澡精品| 久久成人免费视频| 欧美日本成人| 中文在线不卡| 久久躁狠狠躁夜夜爽| 亚洲精品一区二区三区福利| 欧美三级网页| 久久本道综合色狠狠五月| 亚洲承认在线| 亚洲欧美亚洲| 影音国产精品| 欧美日韩精品久久久| 欧美一级久久| 亚洲三级免费电影| 久久国产精品电影| 亚洲国产精品传媒在线观看 | 亚洲精品在线一区二区| 性久久久久久久久久久久| 伊人久久大香线| 欧美国产日韩精品| 亚洲欧美视频在线观看视频| 欧美成人免费小视频| 在线一区二区三区四区五区| 国产午夜精品在线观看| 欧美日韩岛国| 久久久www成人免费毛片麻豆| 亚洲人体1000| 男女视频一区二区| 欧美一级成年大片在线观看| 亚洲精品一级| 激情成人av在线| 国产精品福利网站| 老司机精品视频网站| 亚洲欧美成人精品| 亚洲精品免费电影| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲一区日本| 日韩一级裸体免费视频| 黄色亚洲网站| 国产精品三区www17con| 欧美人体xx| 欧美成人精品高清在线播放| 久久成人久久爱| 午夜精品视频网站| 亚洲天堂第二页| 99精品国产一区二区青青牛奶| 亚洲第一级黄色片| 媚黑女一区二区| 久久亚洲欧美国产精品乐播|