欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

Linux 6.6 IOMMU DMA重映射:原理、驗證與排障指南

Linux 6.6 IOMMU DMA重映射:原理、驗證與排障指南 做驅(qū)動調(diào)試的人大概都經(jīng)歷過這種場面設(shè)備驅(qū)動跑得好好的某一刻數(shù)據(jù)突然錯亂日志里干干凈凈用崩潰轉(zhuǎn)儲一看內(nèi)核某塊結(jié)構(gòu)體被一段完全不相干的十六進(jìn)制數(shù)據(jù)糊住了。查到最后往往是設(shè)備發(fā)出的 DMA 地址寫錯了或者描述符里的地址字段被固件改花了——沒有 IOMMU 的時候總線上的 DMA 請求就是全裸奔的設(shè)備愛往哪寫就往哪寫內(nèi)存管理單元完全管不了它。Linux 6.6 內(nèi)核里 IOMMU 子系統(tǒng)的 DMA 重映射DMA Remapping就是專門收拾這個問題的一層它把設(shè)備看到的地址空間和 CPU 看到的物理地址空間徹底切開設(shè)備發(fā)出的每一個地址都要先過這張翻譯表。這篇內(nèi)容圍繞 IOMMU 的 DMA 重映射原理展開同時把 6.6 上怎么打開、怎么觀察、怎么驗證、怎么排坑一次講透適合正在寫 PCIe 驅(qū)動、做設(shè)備直通、或者被 DMA 越界搞得睡不著的同行參考。1. IOMMU 到底在解決什么問題從一次指針踩內(nèi)存說起1.1 沒有 IOMMU 時設(shè)備的 DMA 是完全不設(shè)防的先把最基礎(chǔ)的一層說清楚。CPU 訪問內(nèi)存要經(jīng)過 MMU頁表決定哪塊虛擬地址對應(yīng)哪塊物理頁越界就缺頁異常。但設(shè)備不一樣設(shè)備發(fā)起 DMA 時把地址丟到總線上由內(nèi)存控制器直接取數(shù)或者寫數(shù)這條路默認(rèn)繞開了 MMU。也就是說一塊 PCIe 采集卡只要往描述符里寫一個0xffff_8880_0000_0000這樣的地址硬件就會老老實(shí)實(shí)往那個物理位置寫數(shù)據(jù)中間沒有任何審批環(huán)節(jié)。我在某實(shí)驗室見過一塊自定義采集卡FPGA 側(cè)的地址位寬算錯了一位描述符里的目標(biāo)地址被左移了一位結(jié)果驅(qū)動程序填給它的緩沖區(qū)地址整體偏移。沒開 IOMMU 的機(jī)器上這個偏移會隨機(jī)打壞相鄰的 slab 對象現(xiàn)象是跑幾個小時之后文件系統(tǒng)報錯或者某個完全無關(guān)的進(jìn)程收到 SIGBUS。這種問題最難查的地方在于故障點(diǎn)和根因之間隔著幾百毫秒甚至幾秒崩潰現(xiàn)場和元兇毫無關(guān)聯(lián)。打開 IOMMU 之后同樣的錯誤地址會立刻觸發(fā)一次 IOMMU 缺頁內(nèi)核打印出一行包含設(shè)備標(biāo)識和出錯地址的 fault 日志驅(qū)動直接被判定為行為異常。故障從偶發(fā)玄學(xué)變成穩(wěn)定復(fù)現(xiàn)這個價值遠(yuǎn)比性能優(yōu)化重要。所以我一直跟人說IOMMU 首先是一個調(diào)試工具和隔離邊界其次才是一個地址翻譯器。1.2 三層價值隔離、翻譯、訪問控制把 IOMMU 的能力拆開看其實(shí)是三件相互支撐的事。第一是地址翻譯設(shè)備用一套地址內(nèi)核里叫 IOVAI/O Virtual Address硬件按頁表翻成物理地址PA。第二是隔離每個設(shè)備嚴(yán)格說是每個 IOMMU group有自己獨(dú)立的地址空間A 設(shè)備映射的區(qū)域 B 設(shè)備看不見也摸不著哪怕兩塊卡是同型號、同一個驅(qū)動。第三是訪問控制每一個頁表項都帶權(quán)限位讀、寫、執(zhí)行是分開的設(shè)備只能做被顯式允許的操作。這三層疊起來才支撐了后來一堆上層玩法設(shè)備直通給虛擬機(jī)時把整個 group 的地址空間交給客戶機(jī)管內(nèi)核里的vfio靠它做用戶態(tài)驅(qū)動容器場景下做設(shè)備隔離內(nèi)核自己的DMA API靠它在 32 位設(shè)備上做地址窗口收斂bounce buffer 那一套。很多人以為 IOMMU 就是為了虛擬化其實(shí)虛擬化只是最出名的一個消費(fèi)者日常驅(qū)動開發(fā)里它天天都在干活。1.3 為什么叫重映射而不是映射這個用詞值得掰一下因為它直接對應(yīng)硬件結(jié)構(gòu)。設(shè)備發(fā)出的地址在 IOMMU 硬件里叫輸入地址經(jīng)過查表后得到輸出地址再送到內(nèi)存控制器。翻譯過程是進(jìn)來一個地址出去另一個地址所以叫 remapping。而 CPU 側(cè)的 MMU 我們習(xí)慣叫 mapping因為它是從沒有物理歸屬的虛擬地址建立起映射關(guān)系。落到代碼上這個差別體現(xiàn)得很明顯CPU 側(cè)你操作的是vm_area_struct和頁表是申請地址→缺頁→填頁表的懶惰路徑IOMMU 側(cè)是先顯式建映射→再告訴設(shè)備可以用這個地址沒有缺頁這回事ATS/PRI那套另說屬于設(shè)備主動問路后面章節(jié)會提。理解了這個不對稱你就能明白為什么 DMA 映射的 API 必須成對出現(xiàn)dma_map_single/dma_unmap_single中間那段窗口硬件已經(jīng)準(zhǔn)備好了用完必須還回去否則 IOVA 會漏。2. DMA 重映射的核心數(shù)據(jù)結(jié)構(gòu)與地址翻譯鏈路2.1 設(shè)備、group、domain三個概念別搞混剛接觸這塊的人最容易在這三個詞上打轉(zhuǎn)。我用一個類比說清楚設(shè)備是具體的網(wǎng)卡、采集卡、NVMe 盤group是一批無法相互隔離的設(shè)備集合硬件上它們共用同一個翻譯單元或者同一條通往內(nèi)存的路徑內(nèi)核只能把它們當(dāng)成一個整體來管domain是真正承載頁表的那塊地址空間一個 domain 里可以掛多個 group。關(guān)鍵點(diǎn)在于內(nèi)核默認(rèn)策略是一個 group 一個 domain同一 group 里的設(shè)備共享同一套頁表。這就意味著如果同一個 group 里有一塊你不信任的設(shè)備它會和同組的可信設(shè)備平起平坐。做過直通的人應(yīng)該都踩過這個坑——想把某塊網(wǎng)卡單獨(dú)丟給虛擬機(jī)結(jié)果發(fā)現(xiàn)它和板載的一個 USB 控制器同組只能整組一起交出去或者用pci-stub提前把同組設(shè)備都占住。在 6.6 里查看分組很簡單for g in /sys/kernel/iommu_groups/*; do echo $(basename $g) for d in $g/devices/*; do echo $(basename $d) $(lspci -nns $(basename $d) 2/dev/null | cut -c1-80) done done分組結(jié)果完全由固件描述決定ACPI 表或者設(shè)備樹里的描述決定了哪些設(shè)備歸到一組內(nèi)核只是照著執(zhí)行。所以有些分組看起來莫名其妙那是固件的鍋不是內(nèi)核的鍋。2.2 頁表結(jié)構(gòu)從根表一路走到最后一頁x86 平臺上的 DMA 重映射硬件ACPI 里描述為 DMAR它的翻譯鏈路大致是三層結(jié)構(gòu)先按設(shè)備標(biāo)識找到根表項再按總線號找到上下文表項上下文表項里存著真正的多級頁表基址。真正做地址翻譯的部分和 CPU 的分頁結(jié)構(gòu)思路一致可以是三級、四級甚至五級具體級別在上下文表項里寫明。另一類主流平臺用的表述叫 SMMU結(jié)構(gòu)換了個名字但思想一樣設(shè)備按流 ID 查到一張表里的表項表項指向另一層配置配置里指定用哪套頁表、哪個地址空間。你在設(shè)備樹里給設(shè)備節(jié)點(diǎn)寫一條描述 IOMMU 歸屬的屬性內(nèi)核初始化時就能把這條鏈路串起來。這個多層結(jié)構(gòu)的存在直接導(dǎo)致了兩個工程后果。第一初始化階段必須先把整條鏈路建好包括分配頁表內(nèi)存、填根表和上下文表這段代碼在內(nèi)核啟動早期跑調(diào)試起來很麻煩。第二頁表級別可以按設(shè)備能力協(xié)商一塊只支持 32 位地址的設(shè)備給它配的頁表級別低IOVA 窗口自然也小這直接決定了你能給這臺設(shè)備分配多大的 DMA 緩沖區(qū)。后面第 4 節(jié)講參數(shù)計算時會用到這一點(diǎn)。2.3 IOVA 分配器地址不是隨便給的頁表建好了還得決定給設(shè)備什么 IOVA。這塊在 6.6 里是dma-iommu這層在管核心是一個按地址范圍分配的管理器內(nèi)部用紅黑樹記錄已占用的區(qū)間再配一層 per-CPU 的小緩存來加速短小分配的復(fù)用。為什么要有 per-CPU 緩存因為 DMA 映射調(diào)用極其頻繁網(wǎng)卡每發(fā)一個包、磁盤每做一次 I/O 都要映射一次如果每次都去紅黑樹上做插入刪除鎖競爭會直接把性能打下來。緩存的做法是unmap 時把釋放的 IOVA 區(qū)間按大小檔位存進(jìn)當(dāng)前 CPU 的緩存數(shù)組下次分配同檔位時直接從數(shù)組里取取不到再去全局樹里找。實(shí)測下來這個緩存能干掉相當(dāng)可觀的一筆分配開銷代價是 IOVA 的復(fù)用延后了一點(diǎn)對于調(diào)試來說你可能會看到某些 IOVA 長時間沒被回收。默認(rèn)情況下64 位設(shè)備拿到的 IOVA 窗口通常是 48 位寬度也就是一個非常大的地址空間。這個寬度不是拍腦袋定的它來自設(shè)備的coherent_dma_mask和dma_mask設(shè)備支持多寬的地址內(nèi)核就據(jù)此外推 IOMMU 能給多寬的窗口同時受 IOMMU 硬件本身支持的最大寬度約束。如果你的驅(qū)動里把dma_mask設(shè)成 32 位恭喜你給自己套了一個 4GB 的籠子映射壓力大時很快會撞墻。2.4 權(quán)限位、緩存一致性與 IOTLB頁表項里的權(quán)限位不用多說讀、寫分開內(nèi)核在dma_map_*時按數(shù)據(jù)傳輸方向設(shè)置。這里有個細(xì)節(jié)值得提DMA_FROM_DEVICE方向下建的是可寫權(quán)限設(shè)備要往內(nèi)存寫而不是只讀反過來DMA_TO_DEVICE建的是可讀。剛接觸的人經(jīng)常反著理解以為方向是CPU 要干什么其實(shí)是設(shè)備要干什么。一致性方面同一塊內(nèi)存 CPU 和設(shè)備都能訪問緩存就成了麻煩。一致性架構(gòu)x86 常見的那種硬件自己保證非一致性架構(gòu)上就得軟件動手dma_map_single在映射前要把 CPU 緩存里對應(yīng)的數(shù)據(jù)刷到內(nèi)存dma_unmap_single之后要讓 CPU 緩存失效否則 CPU 讀到的是舊值。這一套在 IOMMU 之上照樣要做IOMMU 管的是地址翻譯和權(quán)限不管緩存。最后是 IOTLB。頁表改了不等于硬件立刻知道IOMMU 內(nèi)部有自己的地址翻譯緩存翻譯結(jié)果會被緩存起來。改了映射必須讓緩存失效否則設(shè)備還在用舊的翻譯結(jié)果訪問已經(jīng)回收的內(nèi)存。這就是嚴(yán)格模式和延遲模式的分界點(diǎn)嚴(yán)格模式下每次 unmap 立刻發(fā)失效指令安全但慢延遲模式下把要失效的區(qū)間攢起來攢到一定量或者遇到必須同步的點(diǎn)再一起發(fā)快但有窗口風(fēng)險。# 查看當(dāng)前是否嚴(yán)格模式不同小版本參數(shù)名可能微調(diào)以內(nèi)核文檔為準(zhǔn) cat /proc/cmdline | tr \n | grep -E iommu3. Linux 6.6 里的那幾條關(guān)鍵路徑3.1 啟動階段固件描述怎么變成 domain內(nèi)核啟動早期IOMMU 的初始化分兩步走。第一步是探測硬件、解析固件描述把每一條哪個設(shè)備歸哪套翻譯硬件管的關(guān)系記錄下來形成設(shè)備到 group 的對應(yīng)關(guān)系。這一步在內(nèi)存管理初始化之前就要做完一部分因為后面的 DMA 一致性分配可能馬上就需要翻譯能力。第二步是惰性建域。內(nèi)核不會在啟動時給所有設(shè)備都建 domain而是等設(shè)備真正被驅(qū)動 probe、第一次調(diào)用 DMA 映射時才建。這個設(shè)計很務(wù)實(shí)一臺機(jī)器上可能有幾十個設(shè)備大部分根本沒驅(qū)動管全建一遍純屬浪費(fèi)頁表內(nèi)存。你在日志里看到的那些初始化行只說明翻譯硬件就緒了不代表每個設(shè)備都已經(jīng)有自己的地址空間。這里有個排查技巧開機(jī)日志里搜 IOMMU 相關(guān)的行能看到翻譯單元被識別、支持的頁表級別、以及是否有設(shè)備因為描述沖突被跳過。如果某塊設(shè)備明明在卻查不到它的 group八成是固件里的描述沒覆蓋到它或者是熱插拔槽位的描述寫得有問題。3.2 驅(qū)動 probe 之后dma_map_single 里的四層調(diào)用這是整條鏈路里最值得逐層看的一段。你的驅(qū)動調(diào)用dma_map_single(dev, ptr, size, dir)往下依次是通用 DMA 層先看這個設(shè)備有沒有 IOMMU domain有就走 IOMMU 路徑?jīng)]有就退化成直接的物理地址映射這個退化路徑叫 direct mapping需要swiotlb兜底處理地址不可達(dá)的情況。走 IOMMU 路徑時進(jìn)入dma-iommu這層先做頁對齊處理你傳進(jìn)來的地址和長度幾乎不可能是頁對齊的這層會算出覆蓋范圍并想好頭尾兩頁怎么處理。分配 IOVA從分配器里拿一段足夠大的連續(xù)地址注意這里要的是連續(xù) IOVA物理上可以不連續(xù)。落頁表調(diào)用iommu_map把這批 IOVA 和對應(yīng)的物理頁逐個建立映射頁大小會盡量往大頁上湊能用一個 2MB 頁就不用 512 個 4KB 頁這對減少 TLB 壓力和頁表內(nèi)存都很有意義。最終返回給你的是 IOVA你把它寫進(jìn)設(shè)備寄存器或者描述符。注意返回的這個地址絕對不能當(dāng)指針用CPU 直接解引用它是未定義行為因為它不在 CPU 的地址空間里。順手貼一個最小驗證模塊的核心片段方便你在自己的板子上跑一遍#include linux/module.h #include linux/pci.h #include linux/dma-mapping.h static int __init dmatest_init(void) { struct pci_dev *pdev; void *buf; dma_addr_t dma; u64 mask DMA_BIT_MASK(48); pdev pci_get_device(PCI_ANY_ID, PCI_ANY_ID, NULL); if (!pdev) return -ENODEV; if (dma_set_mask_and_coherent(pdev-dev, mask)) dev_warn(pdev-dev, 48-bit mask not accepted\n); buf dma_alloc_coherent(pdev-dev, 4096, dma, GFP_KERNEL); if (!buf) return -ENOMEM; pr_info(iommu probe: va%px dma%pad\n, buf, dma); dma_free_coherent(pdev-dev, 4096, buf, dma); pci_dev_put(pdev); return 0; }跑起來看dma打印出來的值。如果機(jī)器上 IOMMU 生效這個值幾乎不會等于__pa(buf)如果兩者相等說明走的是 direct mapping 或者身份映射IOMMU 實(shí)際沒在翻譯。3.3 iommu_map 內(nèi)部頁大小拆分與批量映射進(jìn)到iommu_map之后核心動作是先算這一段能用的最大頁是多少。硬件會給一個支持的頁大小位圖映射的 IOVA 和物理地址又各有對齊要求兩頭一取得出這一段里能用大頁的范圍剩下的邊角用 4KB 頁補(bǔ)齊。這個拆分邏輯是性能的關(guān)鍵也是坑的來源。舉個具體例子你要映射 4MB 加 4KB 的緩沖區(qū)起始地址只對齊到 4KB。那么開頭那一小段只能是 4KB 頁中間能湊出連續(xù)的 2MB 對齊區(qū)域就用 2MB 頁末尾再補(bǔ)。這樣拼出來的頁表條目數(shù)遠(yuǎn)少于全用 4KB 頁TLB 命中也更好。iommu_map_sg走的是同一套邏輯只是把散列表一次性批量處理省掉了多次調(diào)用的開銷網(wǎng)卡這類做多段 DMA 的設(shè)備全靠它。6.6 里這塊還在演進(jìn)中屬性結(jié)構(gòu)逐步統(tǒng)一老的按設(shè)備單獨(dú)實(shí)現(xiàn)映射回調(diào)的方式正被按域分配的分頁接口替代。這意味著如果你在維護(hù)一個廠內(nèi)私有的 IOMMU 驅(qū)動升級到 6.6 附近時要留意接口變化別照著老版本的樣板抄。3.4 unmap 的時機(jī)比 map 更容易出事的地方映射寫起來簡單回收才是見功力的地方。dma_unmap_single做三件事清頁表項、把 IOVA 還給分配器、按模式?jīng)Q定是否立刻發(fā)失效指令。任何一步出問題都有明確癥狀。漏了 unmapIOVA 就一直被占著跑久了分配器找不到連續(xù)區(qū)間驅(qū)動申請緩沖區(qū)開始失敗日志里會出現(xiàn) DMA API 調(diào)試相關(guān)的告警或者分配失敗。這個在長時間壓測里才暴露所以很多驅(qū)動的問題是在跑了一兩天之后才冒出來的。更陰險的是時序錯位設(shè)備還在往緩沖區(qū)寫數(shù)據(jù)你的代碼已經(jīng)把 unmap 做了IOVA 隨后被分配給另一個設(shè)備。這時候總線上還飛著舊設(shè)備的寫請求落到新設(shè)備的緩沖區(qū)里數(shù)據(jù)就被污染了。這類問題表現(xiàn)為隨機(jī)數(shù)據(jù)錯亂且只在負(fù)載高的時候出現(xiàn)。規(guī)避辦法很樸素必須確保設(shè)備已經(jīng)停止對該緩沖區(qū)的訪問讀完成寄存器、等中斷、做一次同步屏障才能 unmap。延遲模式會讓這個窗口更長調(diào)試環(huán)境建議先開嚴(yán)格模式穩(wěn)定之后再考慮性能優(yōu)化。4. 實(shí)操打開 IOMMU 之后怎么觀察和驗證4.1 內(nèi)核命令行參數(shù)與生效判斷先確認(rèn)硬件和固件是否就緒。開機(jī)日志里搜翻譯單元的初始化信息能看到它被識別、支持的最大地址寬度、頁大小位圖。如果完全沒有相關(guān)行先查固件里對應(yīng)的開關(guān)有沒有打開x86 平臺上這個開關(guān)有時在芯片組配置里名字不一定顯眼。內(nèi)核參數(shù)方面常用的幾個iommuon強(qiáng)制啟用iommupt讓設(shè)備默認(rèn)走身份映射只建一張等價映射性能幾乎無損隔離性大部分丟失iommu.strict1強(qiáng)制嚴(yán)格模式iommu.passthrough0禁用透傳。這里要提醒一句參數(shù)名在不同小版本上偶有調(diào)整動手前翻一下隨內(nèi)核源碼附帶的命令行參數(shù)文檔比在網(wǎng)上抄別人的配置靠譜。判斷是否真的生效最直接的辦法是看設(shè)備的 DMA 地址和物理地址是否相同也就是上面那段模塊代碼的輸出。第二直接的辦法是看/sys/kernel/debug/iommu/devices/下面有沒有這個設(shè)備的條目——6.x 里加的這個調(diào)試接口相當(dāng)好用里面能看到它當(dāng)前掛的域類型、是否啟用 ATS、以及身份映射狀態(tài)。我第一次用它排查一個以為開了其實(shí)沒開的直通問題時五分鐘就定位到了。4.2 用 tracepoint 看每一次映射的真實(shí)參數(shù)調(diào)性能或者查泄漏光看日志不夠得上 tracepoint。IOMMU 子系統(tǒng)埋了幾個關(guān)鍵點(diǎn)映射、解映射、批量映射都能記錄下域指針、IOVA、物理地址、長度、權(quán)限。# 打開映射相關(guān)的事件 cd /sys/kernel/debug/tracing echo 1 events/iommu/enable echo 1 tracing_on # 跑一段你的業(yè)務(wù) sleep 5 echo 0 tracing_on cat trace | head -50從輸出里能直接讀出三件事映射長度分布大部分是 256 字節(jié)還是 4KB反映你的緩沖區(qū)設(shè)計是否合理、IOVA 是否集中在低地址說明窗口開小了或者分配器壓力大、以及 map 和 unmap 的數(shù)量是否匹配不匹配就是泄漏。我用這套方法抓到過一個很典型的問題某驅(qū)動的接收路徑每包都映射一次小緩沖區(qū)日志里 unmap 次數(shù)比 map 少了不到千分之一??粗黄鹧鄣钠钆芤煌砩暇屠鄯e出幾萬個沒回收的 IOVA最后分配大塊連續(xù)區(qū)間失敗。查出來是錯誤分支上少寫了一行 unmap。4.3 觀察點(diǎn)整理從文件系統(tǒng)到日志觀察目標(biāo)位置關(guān)鍵信息設(shè)備分組情況/sys/kernel/iommu_groups/哪些設(shè)備共用一套翻譯能否獨(dú)立直通設(shè)備當(dāng)前域狀態(tài)/sys/kernel/debug/iommu/devices/域類型、是否身份映射、ATS 狀態(tài)每次映射的詳細(xì)參數(shù)events/iommu/下的 tracepointIOVA、物理地址、長度、權(quán)限缺頁與訪問越權(quán)內(nèi)核日志設(shè)備標(biāo)識、出錯地址、訪問類型映射泄漏與誤用內(nèi)核日志需開 DMA API 調(diào)試長度不一致、方向不一致、提前釋放這張表建議存下來。我排查 IOMMU 相關(guān)問題基本就是從上往下過一遍先看分組對不對再看域建沒建再看映射有沒有異常最后看有沒有硬件報錯順序亂了容易鉆牛角尖。4.4 嚴(yán)格模式與延遲模式的實(shí)際代價性能這塊給個量級參考具體數(shù)字跟平臺強(qiáng)相關(guān)別照抄。在一臺普通雙路服務(wù)器上跑萬兆網(wǎng)卡的小包收發(fā)嚴(yán)格模式下每個包一次映射一次失效吞吐比延遲模式低一截某些配置下差距比較明顯換成大包或者批量提交的場景差距迅速縮小因為失效指令的攤薄效應(yīng)出來了。我的建議是分環(huán)境對待開發(fā)和功能驗證階段一律開嚴(yán)格模式讓錯誤盡早暴露生產(chǎn)環(huán)境如果壓測通過、驅(qū)動行為規(guī)范可以切延遲模式換性能。但前提是驅(qū)動真的守規(guī)矩——所有 DMA 緩沖區(qū)的生命周期都有明確的同步點(diǎn)。我見過為了追性能直接切延遲模式結(jié)果把一個本來就存在的時序 bug 放大了十倍的情況那種排查成本完全不值得。提示切模式之前先做一輪長時間壓力測試重點(diǎn)看接收方向的數(shù)據(jù)完整性這個方向的問題最容易被延遲失效掩蓋。5. 常見問題與排查速查表5.1 三類典型故障的定位路徑第一類是開了 IOMMU 之后設(shè)備直接不工作。現(xiàn)象是驅(qū)動 probe 成功但第一次 DMA 就報錯或者數(shù)據(jù)全零。先查這個設(shè)備的 DMA 地址寬度如果驅(qū)動把dma_mask設(shè)成了 32 位而設(shè)備的實(shí)際緩沖區(qū)又申請在 4GB 以上映射就會失敗或者觸發(fā) bounce buffer。其次查設(shè)備是否被分到了一個奇怪的 group導(dǎo)致它的域里沒有預(yù)期的映射。最后確認(rèn)固件描述里這個設(shè)備確實(shí)歸 IOMMU 管——有些平臺對某些根端口默認(rèn)不做翻譯。第二類是跑一段時間后隨機(jī)出錯。這是最典型的延遲失效或者生命周期問題。把嚴(yán)格模式打開復(fù)現(xiàn)一次如果嚴(yán)格模式下問題消失基本可以確定是失效時機(jī)或者緩沖區(qū)回收時機(jī)的問題。再用 tracepoint 對齊 map/unmap 的時間戳和業(yè)務(wù)日志找出哪個緩沖區(qū)的釋放早于設(shè)備停止訪問。第三類是性能比不開 IOMMU 差很多。先分清是映射開銷還是失效開銷。映射開銷大的特征是 CPU 占用高、映射次數(shù)多優(yōu)化方向是合并小映射、用散列表批量映射、復(fù)用緩沖區(qū)失效開銷大的特征是延遲模式的收益明顯優(yōu)化方向是調(diào)整同步粒度。還有一種容易被忽略的情況映射時頁大小沒湊上大頁全是 4KB 頁導(dǎo)致 TLB 壓力大這個從 tracepoint 的長度分布能看出來。5.2 排查速查表現(xiàn)象可能原因快速驗證處理方式第一次 DMA 就失敗地址寬度設(shè)置過窄打印dma_mask與緩沖區(qū)地址按設(shè)備能力放開到 48 位或更高數(shù)據(jù)隨機(jī)錯亂提前 unmap 或延遲失效切嚴(yán)格模式復(fù)現(xiàn)補(bǔ)同步點(diǎn)確認(rèn)設(shè)備停止后再釋放運(yùn)行數(shù)小時后分配失敗IOVA 泄漏對比 map/unmap 計數(shù)檢查所有錯誤分支的回收映射成功但設(shè)備讀到舊數(shù)據(jù)CPU 緩存未刷單步調(diào)試確認(rèn) map 前的操作檢查方向參數(shù)是否傳錯設(shè)備訪問直接觸發(fā) fault映射范圍沒覆蓋全看 fault 日志里的地址檢查長度與頁對齊處理想直通卻整組被牽連group 內(nèi)設(shè)備不可分查分組目錄提前占住同組其他設(shè)備性能斷崖式下跌全小頁映射或嚴(yán)格模式看映射長度分布合并映射、調(diào)整模式5.3 幾個只有踩過才知道的細(xì)節(jié)邊界頁的處理。你傳進(jìn)去的緩沖區(qū)地址沒對齊、長度也不是頁整數(shù)倍時dma-iommu這層需要保證覆蓋范圍。它可能會對首尾頁做特殊處理也可能直接要求調(diào)用方保證對齊。不同版本的策略有差異穩(wěn)妥的做法是自己在驅(qū)動里就按頁對齊申請緩沖區(qū)別把麻煩丟給底層。我吃過一次虧一個 64 字節(jié)的映射跨越了頁邊界尾部那一小段落到了相鄰的映射區(qū)域里兩個設(shè)備互相踩查了兩天才定位。方向參數(shù)不是裝飾品。傳錯方向不會立刻報錯但頁表權(quán)限建錯了某些平臺上設(shè)備會收到訪問拒絕某些平臺上則完全不報錯只是緩存維護(hù)做反了。后一種最要命表現(xiàn)為數(shù)據(jù)延遲一個周期才更新看起來像硬件時序問題。身份映射不等于沒開。iommupt或者某些驅(qū)動主動請求身份映射時設(shè)備看到的就是物理地址隔離性基本沒有但翻譯鏈路還在。排查時別看到地址相等就斷定 IOMMU 沒工作得去看域類型。熱插拔設(shè)備要重新看分組。上電順序不同固件給的分組可能不一樣一個槽位冷啟動和熱插拔之后可能落到不同的組里。做直通方案時不能假設(shè)分組固定。調(diào)試階段把 DMA API 調(diào)試選項打開。這個選項會額外檢查每次映射和釋放的參數(shù)一致性代價是性能下降但能在開發(fā)期抓出大量低級錯誤包括長度不一致、方向不一致、重復(fù)釋放。上線前關(guān)掉即可。我在實(shí)際使用中的體會是IOMMU 這層?xùn)|西的價值不在于它有多復(fù)雜而在于它把設(shè)備的錯誤行為從不可觀測變成了可觀測。以前遇到 DMA 越界只能靠縮小范圍、加內(nèi)存屏障、打點(diǎn)猜現(xiàn)在一行 fault 日志直接告訴你是哪個設(shè)備、訪問了哪個地址、是讀還是寫。把第 4 節(jié)那幾個觀察點(diǎn)用熟絕大部分和 DMA 相關(guān)的疑難雜癥都能在半小時內(nèi)鎖定方向剩下的只是修驅(qū)動的問題。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
九九re精品视频在线观看| 丁香婷婷六月激情| 99熟女| 婷婷九月在线| 亚洲中文字幕AV| 涩综合网| 婷婷久久五月| 国产乱子轮XXX农村| 久久国产性爱A V| www色色色com| 天天天操天天天日| 激情五月婷婷丁香| 丁香五月情色| 99热99热不卡| 久热精品在看| 成 人片 黄 色 大 片| 日日爽天天| 成人国产综合| 久久刺激网| 偷拍九九热| 婷婷六月激情| 色欲五月婷婷| 丁香久久久| 五月丁香在线国产 | 五月丁香综合成人社区| 精品人妻伦一二三区久久| 激情综合在线观看| 婷香五月网在线| 无码AV免费精品一区二区三区| 九九草热在线观看| 91九色 婷婷| 久操人妻| 深爱激情69热| 性五月激情| 亚洲第一综合| 99只有这里有精品在线视频| 九九热在视频| 色色五月丁香婷婷综合| 99re6在线视频精品免费| 大香伊人婷婷| 五月丁香色婷| 99玖玖在线视频| 久久精品系列| 9 大屁股在线视频精品| 97色五月婷婷在线| 婷婷五月天国产性感美女演员久久久久| 五月激情影院| 亚洲婷婷在线播放十月| 色色色婷婷五月| 九九性视频| 久久狠婷婷| 五月丁香六月激情综合| 久草热在线视频| 色婷婷的五月天| 久久九⑨| 97碰久久| 激情亚洲五月| 五月丁香啪啪啪啪| 久草狼人| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 五月丁香六月婷婷的女人| 专区无日本视频高清8| 国产美女无遮挡裸体毛片A片| 97五月天婷婷午夜| 久久综合五月| 亚洲黄色av网站| 99日在线观看视频| 亚洲狠狠爱婷婷| 丁香五月性爱| 天天爽天天日| 九九色之九九色之88| 六月激情久久| 26uuu成人网| 黄色片精品| 色婷五月天| 停婷丁五月在线| 少妇日麻屄| 色月丁| 超碰亚洲天堂| 婷婷久热| 婷婷五月情天| 无码婷婷五月天| 999热在线视频| 奇米色大香蕉| av操逼网| 99热这里都是精品| 九九成人| 丁香五月Av| 天天插插天天| 丁香久久久| 五月丁香综合网色欲| 色色色综合色| 99热在这里只有免费精品| 精品九九在线观看| 免费精品99| 色综合五月天| 久久人妻情侣| 99热这里只有精品4| 欧美色五月| 99久久婷| 九九久久99| 综合久久丁丁香婷| 婷婷免费无马| 激情综合亚洲色婷婷五月| 99热无码首页| 五月天色综合| 婷婷综合在线播放| 婷婷色香六月综合激情| 九九热av| 另类小说色婷婷| 婷婷射婷婷舔| 五月婷婷人妻| 激情六月婷| 亚洲国产精品二二三三区| 久久五月丁香| 丁香五月最新地址| 激情综合五月丁香六月婷婷| 综合久久婷婷| 婷婷射丁香| 九月婷婷久久| www.刺激色网站www.| 91超碰在线观看| 五月天亚洲最大成人| 日本五月婷| 五月天成人免费视频| 99色色视频| 丁香六月综合| 黄涩毛片| 亚洲色网址| 久久这里只有精品视频15| 色播婷婷五月天| 伊人影院久久网| 白度黄视频| 99热香港| 丁香五月婷婷亚洲另类| 婷婷五月天奸女| 91丨九色丨熟女丰满| 狠狠情色| 综合网色| 婷婷成人综合免费视频| 情涩婷婷五月天| 五月综合激情视频| 俺去也五月天| 五月丁香啪啪啪| 狠狠干综合| 色色a| 五月丁香婷婷综合网| 国产成人网址| 国内婷婷丁香社区在线播放| 色色免费网战视频| 九九大香视频| 丁香成人五月天| 成人精品视频99在线观看免费| 天天干,天天日| 六月婷婷av| 欧美内射AA| 亚洲五月婷婷| 五月激情婷婷综合| 色婷婷无吗| 91色五月| 色婷婷五月开心六月综合| 五月丁香爱婷婷深深| 五月丁香六月婷婷不卡免费无码 | 五月天激情黄色小说在线观看| 婷婷五月丁香基地在线视频官网| 色情激情五月| 色五月偷偷| 丁香婷婷大香蕉| 午夜色婷婷| 刘玥精品一区| 婷婷欧美综合| 五月天婷婷丁香花| 丁香五月激情啪啪啪啪| 超碰99在线观看| 婷婷丁香五月六月激情| 精品人妻在线| 天天 青草 丝袜制服 在线| 九九色欲网| 亚州色综合| 亚洲aV写真天天综合网久久| www. 五月. com| 色婷婷丁香五月综合| 激情性爱五月天网页| 天天草狠狠擦| 免费无码毛片一区二区A片| 99热99在线| WWW色色色COm| 秋霞网在线观看理论91| 久热黄色| 色婷婷视频在线| 色99色| 久久婷视频| 日日噜狠狠色综合久久| 开心久久网婷婷| 性做久久久久久久免费看| 狠狠精品干练久久久无码中文字幕 | 五月天婷婷在线观看| 天天色天天操天天射| 九月色婷婷综合亚洲| 成人在线精品| 丁香五月婷婷视频| 欧美综合激情| 激情五月伊人婷婷| 六月婷婷综合激情| 五月丁香综合网| www五月天com| 91av无码| 亚洲俩性性爱图片久久第六页| 五月六月丁香激情| 一本色道久久88综合日韩精品| 99国产99| 五月丁香婷婷成人伊人网| 丁香五月先锋| 99ri视频在线观看| 人妻操在线看| 五月天a婷婷伊人| 五月色网| www狠狠| 久99久热只有精品国产99| 五月丁香六月婷婷的女人| 久久伊人大香蕉| 午夜五月天| 婷婷综合久久综合| 六月丁香婷婷天堂| 九九热精品| 99热99色| 天天骑天天操| 无码髙清| 丁香婷婷老熟女综合网| 亚洲成人AV在线播放| 婷婷五月天综合色| 国产偷人爽久久久久久老妇APP| 丝袜激情网| 思思热久久爱| 99精品综合| 亚洲丁香婷婷五月天综合色| 五月婷婷无码| 97超碰人人操| 99久在线精品99re8| 秋霞av不能| 国产26uuu视频| 五月丁香六月在线| 成人视屏在线观看| 精品欧美一区二区三区久久久 | 丝袜人妻| 激情综合另类| 狠狠激情五月天| 色婷婷狠狠干芒果TV| 亚洲国产成人在线| 99热精品在线观看| 性爱动图国产麻豆一区二区三区 | 色婷婷9| www.99热. com这里只有精品| 99热综合色图| 婷婷五月丁香啪啪| 99久久久免费| 在线观看熟女少妇| 欧美99热| 久久精品视频9| 天天爱天天做天天爽| 婷婷的99视频网站| 99爱爱网| 丁香五月香蕉| 久久综合99| 武则天精品久久| 日韩在线观看亚洲| 日本美女上人| 五月天激情国产综合婷婷婷就去爱| 亚洲最大在线| www.精品99| 婷婷五月色综合| 久久新地此| 久9视频免费播放| 五月丁香色综合| 激情99在线视频| 人人九色| 久99久精品| 婷婷色婷婷| www.99热在线| 色五月亚洲| 五月天丁香婷婷社区| 久久 婷婷 五月天| 少妇高潮呻吟A片免费看软件| 九九亚洲视频| 国产亚洲99久久精品熟| 欧美性猛交99久久久99| 久久久妻人人人| 色吧五月婷婷六月丁香| 精品久久人妻热| 涩涩涩五月天| 欧美成人五月天| 欧美成人网婷婷综合在线| 丁香欧美| 91九色在线| 日本色五月| 久久精典| 狠狠五月激情在线| 99日热在线视频| 日韩五月丁香| 色吧五月| 色色欧美。| 丁香婷婷激情五月天无毒不卡蜜桃| 久久这里有精品在线观看| 国产精品色色色色| 99成人免费热视频| 婷婷精品性性性性性性性| 五月丁香花开综合网| 久机视频这只有精品| 久久久久9| 91精品久久久久久77777| 色婷婷影院| 色99亚洲| 国产中文字幕在线视频免费观看| 国产在这里只有精品| 插插干干干色| 月色色综合婷婷网| 丁香大香蕉| 亚州综合色| 九九热10| 蜜桃人妻无码AV天堂三区| 婷婷精品在线| 五月婷婷人人人操| 亚洲六月综合激情久久下卡| 成人精品在线| 亚洲人成人五月天| 天天日天天添| 久久人操-久草婷婷-成人AV| 色色婷婷五月天| 精品草原久久视频| 色色操| 七月丁香五月婷婷在线| 少妇高潮一区二区三区99欧美| 五月婷婷黄色| 大香蕉网站,大香蕉综合| 七七婷婷综合| 99热伊人综合| 综合啪啪| 亚洲精品激情| 久久在这里有精品| 久久久久久久久久91| 综合九九日本| 婷婷五月天色丁香| 天天搞天天爽| 五月婷婷色色色| 久久久久久人妻久久久久久久久久人妻久久久 | A片一曲| 久久丁香久久| 99视频| 六月亭亭久久综合激情| 任你草| 精品综合网在线| 五月丁香| 另类小说色婷婷| Va另类视频| 99热这里只有精品最新网址| 亚洲男女激情| 男人的天堂在线婷婷| 激情婷婷五月| 丁香色色五月| 色色日韩| 97干视频在线| 久久久91精品| 亚洲网站在线鸭子av| 啪到高潮激情丁香五月| 97久久超碰| 99久久超级| 五月激情综合网| 婷婷伊人久久综合| 亚洲丁香花色| 色播综合| 五月深情久久| 日韩一级淫乱片一区二区三区| 天天爽人人综合免费7799| 五月天激情综合网| 激情美女五月天激情在线| 国产乱码久久| 91色综合网| 国内熟女黄色系列| 五月丁香成人网| 人人综合色| 国产精产国品一二三在观看| 激情性爱五月天| 色五月婷婷色五月婷婷色五月婷婷| 五月天激情在线视频| 丁香综合网| 久久99精品日本| 韩日AV片| 国产亚洲99久久精品熟女| 日本色色色色色色色色一色二色| 欧美日本日韩| 内射爽无广熟女亚洲| 99久久6| 亚洲婷婷91丁香| 五月丁香激情啪啪| 亚洲成人精品三区| 日韩国产在线精品| 色亭亭影园| 亚洲天堂久久| 婷婷97狠狠成人网站| 激情综合五| 亚洲精品国产成人AV在线| 日本99在线| 国产精品爽爽久久久久久| 特级西西4444www无码| 婷婷五月天干干| 日韩欧美骚货| 美国色五月天婷婷资源站| 五月丁香六月婷婷婷婷| 激情色视频| 成人草榴视频| 99热这里只有精品86| 婷婷五月蜜桃成人桃色丁香| 五月色婷婷影视在线电影| 五月天婷婷激情| 国产婷婷五月中文字幕高清| 黄色一极大片| 婷婷金品综合视频| 91精品综合久久久久久五月丁香| 丁香六月婷婷| 性爱五月婷婷| 婷婷综合视频| 成人在线日韩欧美| 国色天香伊人狠狠色| 伊人www22综合色| 免费无码毛片一区二区A片| 婷婷丁香五月亚洲| 深爱激情四射| 欧美色五月| 九九人妻福利| 99热无码精品| 亚洲综合色五月| 色婷婷色五月天| 婷婷综合视频| 婷婷丁香五月天激情| 婷婷五月天AV| 丁香五月伊人| 色九亚洲| www.国产亚洲69ty.久久久久久久久久久久 | 婷婷丁香先锋资源网站| 六月丁香av| 丁香婷色| 日日噜噜久久婷婷五月天| 激情五月婷婷色播网| 色久综合天天做视频| 五月婷婷天| 91九色视频在线观看| 国产免费一区二区在线A片视频| 天天搡日日搡aaaaⅩ| 久久久久er热| 激情五月天天| 大香蕉久久草| 人人操AV| 久99综合婷婷| 久久精品国产一区二区三区四区| 天天日天天狠狠操| 丁香五月激情六月| 色五月五月天色婷婷色五月| 能看的AV| 激情伊人网| 他改变了拜占庭| 最新亚洲色色网| 人人摸人人| 色五月丁香婷婷| 婷婷丁香激情五月天色色色| 五月丁香六月停停停| 激情床戏| 六月婷婷亚洲| 五月丁香六月欧美| 182TV亚洲| 思思久久99热只有频精品66| 深夜男女福利刺激影院一区| 天天上天天爽| 五月综合久久| 日韩AV无码影片| 一二区成人电影| 激情丁香淫荡婷婷| 五月狠狠| 成人婷婷色综合| 婷婷丁香激情综合色情| 激情婷婷五月天在线观看| 激情五月天啪啪| 成人午夜天| 台湾无码A片一区二区| 五月香蕉婷婷| 欧美熟女99| 色啪久| 日本精品九九九| 久久久月丁香| 操操啪| 亚洲天堂婷婷丁香| 婷婷激情肏屄网| 五月天婷婷爱| 成人 在线观看国产| 久久99婷婷| www.com操| 五月婷六月天| 欧美VA在线| 激情丁香六月| 国产毛片精品一区二区色欲黄A片| 丁香六月婷| 五月婷婷综合色拍| 亚洲另类婷婷五月丁香在线播放| 97色色综合| 色噜噜丁香| 激情婷婷| 五月天丁香成人社| 婷婷射丁香| 岛国av网| 色色色综合视频| 五月丁香六月激情网站| 婷婷亚洲影院| 大香蕉99| 色五月大| 婷婷五月天中文字幕| 中文字幕在线免费看线人| 337p大胆噜噜噜噜噜91Av| 性爱先锋AV| 婷婷五月天丁香久久| AA片在线观看视频在线播放| 女婷久久| 丁香久久综合| 超碰人人操| 婷婷亚洲欧美丁香五月| 特级片神马电影| 久久99热这里只有精品23| 亚洲婷婷激情综合激情999精品| 色狠狠图片| 亚洲视频在线观看99| 免费黄色视频网址| 色欲丁香| 色五月激情网| 欧美一级色| 7超碰自拍| 成人av观看| 婷婷丁香视频| 日韩无码乱轮| 免费在线观看av网站| 激情综合婷婷五月| 久久久久人妻| 色综合五月在线| 五月综合色| 色色啊| 五月婷婷色色| 五月色网| 国产精品爽爽久久久久久| 婷婷色正月| 噜噜精品| 亚洲免费观看高清完整版AV线| 色婷婷亚洲六月婷婷中文字幕| 狠狠色噜噜| 丁香婷婷婷五月| 久久人妻www| 色婷婷六月天在线| 涩五月色婷婷| 五月综合激情| 九九aV| 中文字幕成人| 五月丁香综合网| 色综合婷婷| 婷婷中文字幕| 丁香五月婷婷啪啪视频| 丁香久久激情俄| 九月激情婷婷丁香| 婷婷久久综合久| 热99免费在线| 丁香综合婷婷开心激情网| 美女五月天| 人妻性爱| 亚洲狠9| 日日夜夜爽爽| 久久综合丁香激情五月| 亚洲超碰在线| 香蕉久久国产AV一区二区| 欧美搡BBBBB摔BBBBB| 色婷婷成人色网| 九九99在线视频| 五月丁香性爱| 狠狠擼综合| www.五月瑟| 丁香五月综合激情性爱| 久久草大香蕉| 操比激情五月| 可以免费观看的av网址| www.lingjunshare.com| 任你操精品免费| 97色婷| 亚洲日比视频| 91ncom.色| 婷婷中文字幕版| 亚洲另类视频| 艹B高清无码| 久久色五月天综合网| 伊人9在线| 人妻激情在线| 激情婷婷综合| 亚洲AV无码影院| 操骚货在线| 做爱夜夜干天天操| 9999色色色色| 久久婷婷色| www.91五月| 综合激情在线| 99热精国产这里只有精品| 超碰人人99| 做爰丰满少妇1313| 性生活视频98791| 综合网激情五月天| 国产在这里只有精品| 丁香六月激情| wWW九九在线播放| 影音先锋 91工厂| 久久小视频| 中文成人在线| 四虎成人精品永久免费AV九九| 开心五月婷婷激情网| 色五月丁香婷婷在线观看| 久久人妻视频| 色色色色色色色色色色色色色97| Jh7Uf088VHafNm| 超碰成人在线观看| 亚洲AV电影美洲AV电影| 色五月av伊人| 婷婷五月丁香综合| 中文字幕性爱视频| 天天综合天天玩夜夜玩天天玩夜夜玩| 99精在线| 99久久九九视频| 99天堂网| www.五月天色色.com| 日本久久久97| 69婷婷丁香午夜| 色婷婷影院| 狠爱婷色| www.五月瑟| 亚洲经典三级| 久久丁香婷婷五月| 翔田千里aV中文字幕| 激情丁香九九五月综合网| 亚洲蜜桃精久久久久久久久久久久| 97人人操人人操人人操人人| 婷婷综合激情五月综合| 风流少妇A片一区二区蜜桃| 色激情五月| 深情五月天| 色五月激情五月| 99久久66| 99成人在线观看| 96精品久久久久久久久| www.天天干| 影音先锋男士资源网一区| 五月激情开心婷婷| 五月天婷婷久久| 色婷丁香| 久久激情网| 超碰电影在线播放| 啪啪婷婷五月天激情| 狠狠色狠狠爱| 五月婷婷五月| 五月天大香蕉婷| 人人爱天天摸摸天天爱| 在线观看国产高清视频免费网站 | www.97碰碰com| 97婷婷五月激情六月丁香伊人| 五月丁香婷婷综合在线| 久久人人九九| 色婷婷久久| 很很干天天干| 99久久.www| 五月天婷婷乱论小说| 久久色吧| 开心激情婷婷| 大香蕉99热| 亚洲综合草草| 91视频五月丁香| 丁香五月色五月| 97婷婷五月激情六月丁香伊人| 激情小说视频图片| 精品99在线观看| 久久WW| 免费AV在线网址| 婷婷六月久久综合导航| 五月色亚洲| 色呦呦美女| www.色五月.com| 五月天婷婷视频| 色色色777| 国产精品久久久久久久久久| 99.色| 色护士综合| 色欲婷婷五月天丁香| 六月婷婷av| 99激情| 久久这里只有精品网| 抽插特写| 久操福利| 九九色热| 丰满人妻妇伦又伦精品国产| 吉澤明步Av一區二區| 婷婷丁香五月色偷偷| 啊V视频在线观看| 秋霞午夜理论| 亚洲性爱AV| 色婷婷婷婷| 大香蕉婷婷| 无码日本精品XXXXXXXXX | 3www激情| 狠干综合| 色婷婷在线视频| 天天成人综合视频| 久久受www免费人成| 色色色五月婷| www.狠狠操.con| 伊人久久丁香狠狠婷婷综合香蕉| 五月丁香色综合| 九九99久久| 99热在线中出| 激情综合五月婷婷六月丁香| 97色婷| 91免费啪视频| 久久精品亚洲一级牲爱综合| 国产成人AV在线| 一区二区三区四日本| 五月天婷五月天综合网在线观| 久久ri精品视频| 无码激情| 婷婷干五月综合在线播放| 日本美女上人| 色色色色色色综合网| 久久婷婷国产| 激情精品久久| 国产无人区大片| 色欲一区二区三区精品A片| 91人妻视频| 99热最新网址| 丁香五月最新网址| 久久99国产综合精品免费 | 天天婷婷天天| 五月美女婷婷风骚| 九热视频| 亚洲六月婷婷| 色婷婷六月精品| 激情五月天色婷婷综合| 99天堂网| 丁香六月啪啪啪| 狠狠色精品综合| 色玖玖玖| 日本成人内射| 国产精品国产成人国产三级| 成人av在线电影| 色婷婷六月丁香综合欲精品| 色狠狠伊人久久五月丁香| 人妻Av在线| 人妻丰满精品一区二区A片| 五月天丁香网站| 五月五婷婷| 26uuu亚洲色| 偷偷狠狠久久婷婷五月天| se99热久久一本| 激情6月| 疯狂做受XXXX高潮A片| 婷婷综合久久| 五月色婷婷影院| 天天爽天天摸| 久久人妻情侣| 亚洲俩性性爱图片久久第六页| www.色色com| 我淫我色婷婷五月天激情四射| 99热这里只有精品8| 超碰97干| 婷婷五月天综合AV| 思思久日精品视频| 6080av| 亚洲激情综合| 字幕网AV中文字幕| 丁香五月婷婷色| 激情五月综合ì香亚洲| 天堂资源欧日浪女在线播放| 久久区区一二三av| 任你弄在线视频免费| 欧美成人AAA片一区国产精品| 无码色| 丁香六月婷婷久久综合| 99久在线精品99re8| 激情综合网激情五月天| 色色色99| 五月精品| 婷婷色丁香五月| 五月综合亚洲色| 怕怕視頻| 热99精品视频观看| 天天日人人| 激情AV| 99久久.www| 婷婷va| 狠狠色噜噜狠狠| 超级碰碰碰碰视频| 亚卅毛片| 99九九久久| 密黄站| 色综合xx| 婷婷五月天亚洲精品| 丁香五月天综合网| 欧美日本va| 国产精品VA在线| 色偷偷色婷婷| 五月天色色网站| 婷婷色六月| 五月婷婷综合网| 人妻丰满精品一区二区A片| 9国产在线视频| 日本波多野结衣视频| 99熟女| 精品夜夜澡人妻无码AV| 婷婷99视频全集高清| 91人无码久久久久久| 久久sp免费视频| 色碰碰| av婷婷丁香 六月| 六月婷婷日| 五月天激情av| 狠狠色丁香婷婷久久综合| 91viP在线看| 99热自拍| 激情综合五月丁香六月婷婷| 99视频在线观看视频| 激情AV在线| 麻豆科斗777| 亚洲噜色| 在线成人视频免费| 五月丁香影视| 国产做A爰片毛片A片美国| 激情综合五月丁香六月婷婷| 国产视频福利| 97色色色色色色色| 开心五月色婷婷综合开心网| 97色啪| 激情五月天丁香| 强辱丰满人妻HD中文字幕| 九月婷婷综合色干| 五月天婷婷影院| 很很干五月天| 激情五月婷婷中文字幕| 丁香五月婷婷综合网| 天天干电影| 欧美婷婷五月丁香| 国产黄色在线| 色久影院| 97色色色色色色色色色色色色色| 99色久| 九一牛视频探花| AA丁香综合激情| 五月天色视频| 亚洲激情AV| 99热色综合| 天天射影| 五月天久久网站| 天天操婷婷| 五月丁香六月婷婷激情四射| 亚洲区,视频区,视频区免费| 婷婷精品性性性性性性性| 碰碰女| 熟妇国产| 久久婷婷五月国产色综合激情| 婷婷六月五月天综合| 中文字幕成人| 特黄三级又爽又粗又大| 色五月丁香总合网| 超碰人人干| 99精品综合| 思思热久久阴99| 日韩视频99| 婷婷五月丁香五月| 97精品在线| 天天日夜夜拍| 桃色成人网| 欧美日本VA| 婷婷五月激情丁香| av网址在线播放| 五月丁香美女视频| 五月天伊人网| 日本一级淫| 九九av| 天天弄天天操| 丰滿爆乳一区二区三区| 丁香六月色婷婷欧美| 久久丁香综合| 色九九九综合| 婷婷五月情色| 人妻啪啪啪| 99在线公开视频| 裸体美女丁香五月天。| 影音先锋 萱萱| 久婷婷五月丁香在线观看| www.91婷婷| 亚洲欧洲另类图片| 欧美色六月婷婷| 人妻内射视频| 婷婷九月色| 猫咪伊人久久| 色噜久| 人草人人| 99热超碰| 99精品色色| 开心深爱激情网| 五月婷久久| 五月丁香福利| 亚洲在线操| 色婷婷六月天| 久久99大| 99视频久久| www,8050,午夜三级| 91干网| 丁香五月色| 日韩色久| 婷婷丁香激情五月天色色| 99热线观看9| 日韩ww| 91chinese在线| 五月婷婷六月综合| 亚洲激情淫网| 久久99热这里只频精品6学生| 六月丁香色色色| 色婷久| 99热大香蕉| 激情综合网激情五月天| 99性感视频| 超碰99在线| 五月婷婷六月丁香首页| 色色操| 91超碰人人操| 五月天六月婷婷| 就爱操www com| 丁香五月激情婷婷视频| 美国不卡视频| 九九热这里只有精品9| 色色国产| 婷婷五月综激情| www、色色色| 五月情四婷婷| 另类视频一区| 欧美色男人网站| 午夜色婷婷| 五月天开心色情网| 开心五月网 | 久久九九玖玖| 日韩美女羞羞网站在线观看| 色婷婷呢狠禁久禁| 免费视频无码| 五月丁香免费看| 玖玖五月| 五月天婷婷丁香| 五月天婷婷青青草| 久久婷婷五月综合色播| 99re这里只有精品99| 熟女91九色| 丁香婷婷老司机久操| http://www.com久久久精品一区| 日本狠狠干| 久久激情综合| 大香蕉伊人99| 日本高清综合网五月丁香| 五月丁香婷婷激激激综合网色播| 婷婷丁香五月天综合网| 99自拍视频| 五月丁香婷婷色色| 91干| 色综合久久44| 丁香五月播播| 中文av网| 激情六月色| 丁香六月婷婷色XXXXX| 五月婷婷网五月在线| 久久婷婷亚洲无码一起| 99热这里只有精品最新| 亚洲成人影视在线观看| 久久在线视频免费观看| 99这里只有精品|v| 色噜噜婷婷| a网站免费观看| 丁香综合网| 99久久久久久| 亚洲乱码日产精品BD| 婷婷五月天天爽| 99热成人精品| 亚洲婷婷久久综合| 国产精产国品一二三在观看| 激情网婷婷婷| 激情亚洲婷婷| 操B五月天| 亚洲激情亚洲激情| 欧日韩AV| 五月婷无码| 五月天婷婷开心| 亚洲婷婷乱乱丁香| 国产精品热搜丁香五月婷婷| 狠狠五月综合在线| 久久久久久人妻久久久久久久久久人妻久久久| 婷婷五点亚洲| 婷婷成年人免费视频| 丁香五月综合激情性爱| 99热这里只有精品1025| 五月综合久久| av中文在线| 亚洲国产精品VA在线看黑人 | 免费精品99| 色久九| 婷婷开心激情| 九九成人| 九七色色六月丁香| AV中文字幕夜夜操b天天摸bb| 五月丁香久久婷| 天天射天天干天插色综合| 爱射综合| 日韩欧美四五区| 婷婷五月天日本无码| 狠狠五月天婷婷激情网。| 26uuu欧美日本| 五月天五月天激情网| 91人操| 五月天开心网| 国产XXXX搡XXXXX搡麻豆| 人妻视频一区而且二区| 在线伦子99热| 99热这里只有精品1025| 婷婷丁香六月影视| 思思热久久爱| 人妻激情在线| 四色永久成人网站| 天天操天天干天天射| 欧美人人超级碰| 97视频久久| 激情婷婷五月天伊人在线观看| 婷婷瑟瑟五月天| 色噜噜狠狠色综合网| 免费观看的av| 九九99九九精品视频| 狠狠爱婷婷爱| 袁子仪视频观看| 婷婷五月开心中文字幕在线| 五月婷婷免费在线视频| 婷色五月天| 欧美久久久中文字幕| 久久婷婷综| 五月丁激情| 日本va欧美va国产激情| 开心激情五月天网| 色吧网综合| 五月丁香久久综合| 就去涩涩丁香五月天| 婷婷五月天开心网| 丁香六月激情综合| 色色色丁香| 无码激情| 天天干天天操天天爱| 久久婷婷综合网| 日韩色色视频| WWW、日本色丁香、co m| 婷婷欧美综合| 99久久99热这里只有精品| 中文字幕,综合,91| 风流少妇A片一区二区蜜桃| 色爱综合五月| 亚洲美女婷婷五月天| 五月六月丁香激情视频| 噜噜色噜噜网| 青草视频在线观看视频| 天堂网色色| 国产精品噜噜在线视频| 九九精品热播| 热思思九九| 色五月婷婷在线| 欧美久久婷婷| 丁香五月成人网| 97碰碰碰| 五月丁香六月合| 色色色色综合网| 色综合网页| 婷婷久久国产视频| 婷婷在线综合| 啪啪色激情五月天| 怕怕av| 熟女网站久久| 五月婷A V在线| 五月婷婷六月丁香| 丁香色五月天| 精品夜夜澡人妻无码AV| 黄色AV日韩| 久久人妻伦理| 无码激情AAAAA片-区区| 99热国产精品| 99爱视频免费| 天天躁日日躁狠狠躁日日躁2022年5月9日| 婷婷丁香宗合888| 久久视频在线| 国精产品一区一区三区免费视频| 色五月天堂| 狠狠干夜夜干| 欧美日韩99| 外国碰视频网站97| 色色色成人网| 欧美成人在线观看| 六月丁香啪| 激情伊人| 色色色色色色色色色色色色色97| 99色一| 亚洲妇女熟BBW| 五月婷婷免费在线| 丁香六月激情| 无码一级片| 日日插日日干| 久9精品视频在线| 婷婷久久免费看| 欧美色婷婷| a九九热www| 色五月播五月| 9久热在线视频| 99热这里只有精品一区| 国产特级毛片AAAAAAA高清| 婷香五月网在线| 色色色色色色网站| 超碰色色综合| 色五月欧美| WWW.久久久久久久久久久久久| AV国产有码| 天天日天天插天天操| 五月天堂婷婷| 91九色精品熟女内射| 在线视频99| 国产97色在线 | 日韩| 亚洲精品成人片在线播| 人人舔人人| 综合另类激情| 五月婷婷在线综合| 视频一区二区在线| 色色色色网色色网色色| 五月丁香婷婷激情图片| 精品少妇蜜臀91| 大香蕉在线99热| 亚洲激情区| 99在线精品免费视频| 狠狠色官网| 午夜不卡久久精品无码免费| 色婷婷婷婷成人网| 另类天堂| 插插干干干色| 丁香六月婷婷综合| 亚洲视频在线观看99| 激情五月婷婷综合| 国产婷婷五月中文字幕高清| 99热超碰在线| 九九精品在线视频观看| 婷婷五月天激情小说| 五月婷婷干干干| 偷偷与邻居做爰完整视频| 婷婷五月丁香在线观看| 性色做爰片在线观看WW| 色青五月天| 操操综合网婷婷| 99热6色| 岛国操B不卡在线| 五月天社区婷婷丁香社区| 九九视频在线观看视频在线播放69| 99热这里只有在线| 91久久免费| 97精品自拍视频| 亚洲av成人在线| 色五月激情| 五月婷伊人| 色欧美一级| 无月播播激情在线观看视频| 大香蕉人人网| 99热主页日本| 伊人五月天综合网| 天天日夜夜拍| 婷婷丁香人妻| 任我干视频在线观看| 丁香五月播播| 亚洲av成人在线| 九九色人| 婷婷5月色| 五月丁香六月激情| 色婷婷丁香五月天在线观看| 99日精品视频| 99爱视频在线观看这里只有精品| 激情五月天啪啪| 91精品综合久久久五月天| 毛片新网地| 九九九九九无码| www...com黄在线观看| 另类激情中文| 九九AV| 乱精品一区字幕二区| 丰满熟女人妻一区二区三| 午夜爱爱网站| 欧美操人| 五月天停停基地| 久久伊人婷| 激情www| 天天日,夜夜爽| 影音先锋男人女人| 亚洲婷婷五月天| 久久久久婷婷五月热综合| 六月婷婷毛片| 噜噜噜久久| 开心婷婷五月天综合| 免费看欧美成人A片无码| 五月色色激情网| 97人妻碰碰碰久| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 国精产品一区一区三区免费视频| 丁香成人视频| 五月开心婷婷极品激情| 丁香五月影| 99色中文| www.操逼comm| 丁香五月婷婷欧美激情-中文天堂最新版在线观看| 五月婷婷激情五月| 婷婷五月天成人网站| 久久婷婷网| 99热人人艹| www99精品| 甈你aaaaa| 啪啪六月婷婷| 中字幕视频在线永久在线观看免费| 另类激情中文| 成人精品一区二区三区四区五区| 黄色99热| AA片在线观看视频在线播放| 五月天成人在线播放| 婷婷五月丁香综合激情小说| 中文字幕av亚洲| 国产AV一区二区三区最新精品| 色噜噜狠噜噜视频| 久久性爱视频免费| 婷婷丁香花五月天| 97超喷视频在线观看| 婷婷久久99| 丁香五月综合在线观看| 色丁香五月婷婷婷| 午夜av网| 中国女人做爰A片| 草一草avb| 日韩十国产极品久久| 日韩好吊操| www免费在线视频| 五月丁香综合在线| www.五月丁香| 久久九九99亚洲国产久精综合| 国产精品久久..4399| 亚洲欧美国产A片免费观看| 色色色综合网| 99ri精品视频在线观看| 五月婷婷丁香综合| 那里有AV网址| 五月天基地| 天天插天天插| 91狠狠综合久久| 极品人妻VideOssS人妻| 5月婷婷综合| 婷婷伊人网| 六月婷婷综合久久| 欧美日本国产| 成熟妇人A片免费看网站| 热九九精品| 五月婷婷啪啪综合网| 都市激情五月婷婷亚洲|