女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PCIe相關(guān)問題解答

Linux閱碼場 ? 來源:Linux閱碼場 ? 2023-09-15 09:39 ? 次閱讀

PCIe設(shè)備的數(shù)據(jù)流有哪些,分別是什么場景?

PCIe設(shè)備的數(shù)據(jù)流主要為4大類:

1.CPU發(fā)起的,訪問PCIe設(shè)備配置空間的數(shù)據(jù)流。這種數(shù)據(jù)流主要是BIOS/Linux PCIedriver 對設(shè)備進行初始化、資源分配時,讀寫配置空間的。包括PCIe 枚舉,BAR空間分配, MSI 分配等。 設(shè)備驅(qū)動通過 pci_wirte_config() / pci_read_config() 發(fā)起配置空間訪問。 lspci /setpci 也是對應到配置空間訪問。

aae3793c-5364-11ee-a25d-92fbcf53809c.png

2.CPU發(fā)起的,訪問PCIe設(shè)備MMIO/IO的數(shù)據(jù)流。將Bar空間mmap 到系統(tǒng)地址空間后,設(shè)備驅(qū)動可通過地址訪問PCIe設(shè)備的 Bar/ MMIO 空間。 一般的,設(shè)備會將特定的寄存器和存儲實現(xiàn)在MMIO空間內(nèi)。CPU可使用 iowrite32() / ioread32() 等方式訪問 MMIO空間。這是一種效率較低的PCIe使用方式.

aafde218-5364-11ee-a25d-92fbcf53809c.png

3.PCIe設(shè)備發(fā)起的,訪問 HostMemory 的 DMA數(shù)據(jù)流。這種數(shù)據(jù)流由PCIe設(shè)備的DMAEngine 發(fā)起,是一種常見的、高性能的PCIe數(shù)據(jù)流。CPU通過配置 PCIe設(shè)備內(nèi)的DMAEngine (通過MMIO寄存器),啟動設(shè)備PCIeDMA。網(wǎng)卡,GPU等PCIe設(shè)備,數(shù)據(jù)通路均有PCIeDMA完成。

ab0d3934-5364-11ee-a25d-92fbcf53809c.png

4.PCIe設(shè)備發(fā)起的,訪問PCIe設(shè)備MMIO/IO的數(shù)據(jù)流, 亦稱P2P (Peer to Peer)。同(3)類似,也是利用PCIe設(shè)備的DMAengine, 但是數(shù)據(jù)訪問的是其他PCIe設(shè)備的MMIO地址空間而非HostMemory. CPU須配置橋片端口路由地址。 GDR (GPU directRDMA) 就是利用這種數(shù)據(jù)流,避免主機內(nèi)存的數(shù)據(jù)拷貝。

ab21e992-5364-11ee-a25d-92fbcf53809c.png

CPU訪問設(shè)備內(nèi)存(Bar空間)和訪問主機內(nèi)存,有什么不同?

Prefetchable MMIO 映射到系統(tǒng)地址空間后,軟件可以通過地址對PCIeMMIO空間進行直接訪問(CPU使用MOV指令),這一點與系統(tǒng)內(nèi)存訪問在操作上是一致的。

RootComplex 會根據(jù)CPU訪問的地址決定數(shù)據(jù)訪問路由,對于系統(tǒng)內(nèi)存地址空間,數(shù)據(jù)會被路由到iMC(integrated Memory Controller) 訪問DDR;對于MMIO地址空間,數(shù)據(jù)會被路由到HostBridge 轉(zhuǎn)換為 TLP發(fā)起對設(shè)備的PCIe通信

一般的,HostMemory 分配都是Cacheable(writeback) 的,而 MMIO通常是Uncacheable的,加之兩者帶寬和通信機理的不同,導致了CPU使用地址直接訪問PCIeMMIO空間無法達到訪問系統(tǒng)內(nèi)存的性能,也無法用滿PCIe帶寬。使用memcpy() 在HostMemory 和MMIO 地址拷貝數(shù)據(jù)也是一種低效方式。

對于連續(xù)的MMIO空間訪問,可以通過支持writecombine的方式( mmap_wc() )來提升性能。

ab45ddde-5364-11ee-a25d-92fbcf53809c.png

為什么需要使用PCIe DMA,在設(shè)備與主機間搬運數(shù)據(jù)?

PCIe DMA 能夠?qū)崿F(xiàn)高性能的數(shù)據(jù)搬運。

1.CPU僅需要配置DMAEngine, 大塊的數(shù)據(jù)搬運過程無需CPU參與,CPU占用率低;

2.DMAEngine 是全硬件化的通信方式,TLPpayload 大overhead小,PCIe鏈路使用率高;

3.支持descriptor的DMA能夠?qū)崿F(xiàn)用戶態(tài)數(shù)據(jù)的零拷貝,減小內(nèi)存帶寬消耗;

4.支持多隊列的DMA,能夠提高系統(tǒng)并行度,支持多核,多進程應用,硬件解決IO搶占和調(diào)度問題,軟件編程簡單;

如何使用PCIe設(shè)備的中斷?

PCIe協(xié)議定義了三種中斷:INTx (legacy), MSI, MSIX

1.INTx中斷是相對古老的PCIe設(shè)備中斷方式,整個系統(tǒng)僅支持8個INTx 中斷,所有設(shè)備共用。PCIe中的INTx 中斷是通過PCIemessage發(fā)送到 switch和 IOAPIC的。CPU收到 IOAPIC轉(zhuǎn)發(fā)到 localAPIC 的 INTx 中斷后,需要查詢ISR確定中斷源設(shè)備,并進一步查詢中斷含義,才能執(zhí)行中斷處理函數(shù)。中斷數(shù)量少,中斷查詢復雜,響應延遲大,與數(shù)據(jù)流不保序等問題的存在,是INTx的主要缺陷。

2.MSI是實現(xiàn)在配置空間的消息中斷,每個PCIefunction可支持最多32個MSI中斷。MSI中斷是一筆PCIe寫報文,向APIC地址域?qū)懭胩囟ǖ臄?shù)據(jù),觸發(fā)CPU中斷。因為其通過PCIewriteTLP 實現(xiàn),中斷與業(yè)務(wù)數(shù)據(jù)的保序性容易實現(xiàn),硬件處理RacingCondition的代價更小。MSI中斷可以具備特定的含義,設(shè)備之間不耦合,中斷響應快。

3.MSIx是實現(xiàn)在Bar空間的消息中斷,優(yōu)點與MSI類似,但其數(shù)量支持更多,每個function最多可以支持2K條中斷向量。

MSI和MSIx 是目前主流的中斷實現(xiàn)方式,在虛擬化的場景下,中斷可以通過IOMMU 實現(xiàn)remap和 posting, 進一步提升系統(tǒng)性能。

網(wǎng)卡接收方向性能低,進行調(diào)優(yōu)有哪些思路?

網(wǎng)卡收包性能性能調(diào)優(yōu),需先識別出性能瓶頸,可通過performance監(jiān)控工具(如IntelPCM),查看 CPU利用率,內(nèi)存帶寬使用,PCIe流量等。

一般的,優(yōu)化方向包括:

1.確定NUMA的親和性,保證CPU/Memory/PCIe 三者的親和性

2.確定PCIe全鏈路的帶寬匹配,確保內(nèi)存帶寬(讀+寫雙向)有余量

3.設(shè)備合理的PCIe通路MPS/MRRS

4.查看并打開IDO/RO (需注意應用場景無保序風險)

5.DMAEngine 參數(shù)的調(diào)優(yōu),Batch操作的閾值配置(隊列doorbell, completion notify等)

6.中斷頻率的調(diào)優(yōu)和控制(一般在20K/100k 每秒,需結(jié)合應用和CPU)

7.DDIO和 cacheable /uncacheable 內(nèi)存空間的分配

具體原理和操作可參考課程中的有關(guān)介紹。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11031

    瀏覽量

    215951
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11456

    瀏覽量

    212754
  • PCIe
    +關(guān)注

    關(guān)注

    16

    文章

    1322

    瀏覽量

    84659
  • dma
    dma
    +關(guān)注

    關(guān)注

    3

    文章

    572

    瀏覽量

    102299
  • 數(shù)據(jù)流
    +關(guān)注

    關(guān)注

    0

    文章

    122

    瀏覽量

    14687

原文標題:PCIe 課程典型問題解答

文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    英飛凌IGBT應用常見問題解答

    [tr][td]英飛凌IGBT應用常見問題解答1.IGBT模塊適用于哪些產(chǎn)品?2.Easy系列模塊電壓/電流/功率范圍?3.Easy系列有哪幾種封裝?........總共23個問題,,已經(jīng)有此資料
    發(fā)表于 12-13 17:16

    常見以太網(wǎng)饋問題解答

    常見以太網(wǎng)饋問題解答
    發(fā)表于 10-24 13:12 ?14次下載
    常見以太網(wǎng)饋<b class='flag-5'>問題解答</b>

    VxWorks常見問題解答

    VxWorks常見問題解答
    發(fā)表于 03-28 09:53 ?18次下載

    TOPSwitch-HX常見問題解答

    TOPSwitch-HX常見問題解答
    發(fā)表于 04-27 14:05 ?48次下載

    CCS問題解答

    CCS問題解答
    發(fā)表于 08-03 08:13 ?43次下載

    PC 音質(zhì)常見問題解答

    PC 音質(zhì)常見問題解答
    發(fā)表于 08-02 14:24 ?18次下載

    新手-iPhone/touch常見問題解答

    新手-iPhone/touch常見問題解答 來源于蘋果官方最權(quán)威的基本常見問題解答,對于剛剛接觸iPhone/iPod touch的新手來說非常有幫助。
    發(fā)表于 02-02 17:29 ?534次閱讀

    晶閘管實用技術(shù)問題解答

    晶閘管實用技術(shù)問題解答
    發(fā)表于 09-12 08:27 ?6次下載
    晶閘管實用技術(shù)<b class='flag-5'>問題解答</b>

    AN-1291:數(shù)字電位計:常見問題解答

    AN-1291:數(shù)字電位計:常見問題解答
    發(fā)表于 03-19 04:51 ?8次下載
    AN-1291:數(shù)字電位計:常見<b class='flag-5'>問題解答</b>

    PDIUSBD12常見問題解答資料下載

    PDIUSBD12常見問題解答資料下載
    發(fā)表于 05-14 10:10 ?11次下載

    CAN總線常見問題解答

    CAN總線常見問題解答,面試中常問。
    的頭像 發(fā)表于 12-27 13:47 ?1756次閱讀
    CAN總線常見<b class='flag-5'>問題解答</b>

    CLOCK常見問題解答

    電子發(fā)燒友網(wǎng)站提供《CLOCK常見問題解答.pdf》資料免費下載
    發(fā)表于 11-23 10:23 ?0次下載
    CLOCK常見<b class='flag-5'>問題解答</b>

    TFPxxx常見問題解答

    電子發(fā)燒友網(wǎng)站提供《TFPxxx常見問題解答.pdf》資料免費下載
    發(fā)表于 09-29 09:56 ?0次下載
    TFPxxx常見<b class='flag-5'>問題解答</b>

    Keystone EDMA常見問題解答

    電子發(fā)燒友網(wǎng)站提供《Keystone EDMA常見問題解答.pdf》資料免費下載
    發(fā)表于 10-11 10:43 ?0次下載
    Keystone EDMA常見<b class='flag-5'>問題解答</b>

    Keystone NDK常見問題解答

    電子發(fā)燒友網(wǎng)站提供《Keystone NDK常見問題解答.pdf》資料免費下載
    發(fā)表于 10-11 10:41 ?0次下載
    Keystone NDK常見<b class='flag-5'>問題解答</b>