免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

Wi-Fi驅(qū)動(dòng)異常排查:PCIe BAR讀全FF背后的MSI中斷重映射問(wèn)題

Wi-Fi驅(qū)動(dòng)異常排查:PCIe BAR讀全FF背后的MSI中斷重映射問(wèn)題 如果你在調(diào) Wi-Fi 驅(qū)動(dòng)時(shí)遇到過(guò)read return 0xffffffff、BAR 空間里讀出全 FF、或者/proc/interrupts里對(duì)應(yīng)設(shè)備那列中斷計(jì)數(shù)紋絲不動(dòng)那你大概已經(jīng)體會(huì)過(guò)這種感覺驅(qū)動(dòng)還掛在設(shè)備上、配置空間也還活著但設(shè)備和主機(jī)之間其實(shí)已經(jīng)斷了。這篇筆記記錄的是一次 Wi-Fi 驅(qū)動(dòng)異常排查我一開始只是發(fā)現(xiàn) PCIe BAR 空間異常最后卻不得不把 MSI 中斷機(jī)制從協(xié)議層一路翻到 IOMMU 的中斷重映射實(shí)現(xiàn)層。文中沒有從頭講教科書原理而是按我實(shí)際動(dòng)手的順序把現(xiàn)象、排除鏈路、根因和修復(fù)都攤開來(lái)講希望能給正在調(diào) PCIe 設(shè)備驅(qū)動(dòng)的朋友省掉一些彎路。1. 故障現(xiàn)場(chǎng)滿速打流十分鐘W 卡直接“失聯(lián)”事情發(fā)生在實(shí)驗(yàn)室那臺(tái) x86 測(cè)試機(jī)上。當(dāng)時(shí)我們?cè)谧瞿?Wi-Fi 6E 模組下文統(tǒng)稱 W 卡的長(zhǎng)時(shí)間吞吐驗(yàn)證內(nèi)核版本是 6.1網(wǎng)卡掛在 M.2 槽位上PCI 編號(hào)固定為0000:03:00.0。測(cè)試方法很簡(jiǎn)單開 8 條雙向數(shù)據(jù)流跑 30 分鐘看有沒有斷流、丟包或者復(fù)位。結(jié)果第 11 分鐘觀察終端突然冒出大量超時(shí)ping 從正常變成 100% 丟包iw dev也掃不到任何 AP。第一反應(yīng)是射頻或固件出問(wèn)題了因?yàn)檫@種模塊在長(zhǎng)時(shí)間高負(fù)載下偶爾會(huì)有底層固件 crash 的毛病。但接下來(lái)看到的日志讓我覺得事情沒那么簡(jiǎn)單[1384.611005] wcard 0000:03:00.0: request timeout, response: 0x00000000 [1384.611029] wcard 0000:03:00.0: queue 0 stuck for 2000 ms. [1384.612111] wcard 0000:03:00.0: Hardware error detected. restarting...緊接著 dmesg 里開始刷一種更詭異的日志夾雜在驅(qū)動(dòng)自己的超時(shí)信息中間[1384.612145] DMAR: [INTR-REMAP] Request device [0000:03:00.0] fault index 0x1f [fault reason 0x26] [1384.612201] DMAR: [INTR-REMAP] Request device [0000:03:00.0] fault index 0x1f [fault reason 0x26]這種DMAR / INTR-REMAP的日志平時(shí)很容易被當(dāng)成“平臺(tái)層面的雜音”忽略掉但它在滿速打流的場(chǎng)景里成百上千條地刷絕不是偶然。我先是懷疑電源管理策略像 ASPM、D3cold 切換這類老問(wèn)題于是關(guān)掉了相關(guān)的 kernel 參數(shù)重新復(fù)測(cè)結(jié)果第 11 分鐘照樣崩。復(fù)現(xiàn)了三次之后我確認(rèn)這八成不是射頻層問(wèn)題而是 PCIe 設(shè)備鏈路本身處于一個(gè)“主機(jī)服務(wù)不了設(shè)備”的怪狀態(tài)。更有意思的是故障發(fā)生之后ip link show wlp3s0顯示鏈路一直是 down 的。執(zhí)行modprobe -r再重新加載驅(qū)動(dòng)有時(shí)能恢復(fù)有時(shí)一加載就繼續(xù)掛真正能 100% 恢復(fù)現(xiàn)場(chǎng)的手段只有整機(jī)重啟。這種“只有重啟才能救回來(lái)”的癥狀往往意味著硬件狀態(tài)沒有被驅(qū)動(dòng)正常復(fù)位——不是配置參數(shù)沒設(shè)對(duì)而是某個(gè)底層狀態(tài)已經(jīng)臟了驅(qū)動(dòng)再怎么重來(lái)也抹不掉。我當(dāng)時(shí)的結(jié)論很簡(jiǎn)單先別管射頻和固件把 PCIe 配置空間和 BAR 資源先盤一遍看看設(shè)備在主機(jī)眼里到底是什么狀態(tài)。2. BAR 空間異常排查寄存器讀不回但配置空間依然完好2.1 先確認(rèn) BAR 本身沒被系統(tǒng)改壞要判斷“BAR 空間異?!钡谝徊绞谴_認(rèn) BAR 寄存器在配置空間里還正不正常。PCIe 設(shè)備通過(guò)配置空間里偏移0x10到0x24的六個(gè) BARBase Address Register聲明自己需要哪些 MMIO 窗這些對(duì) CPU 來(lái)說(shuō)就是一組“門牌地址”。看門牌用lspci -vvv就夠了03:00.0 Network controller: W-card NW-7300 Subsystem: W-card NW-7300 Control: I/O- Mem BusMaster SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap 66MHz- UDF- FastB2B- ParErr- DEVSELfast TAbort- TAbort- MAbort- SERR- PERR- INTx- Interrupt: pin A routed to IRQ 289 Region 0: Memory at ef100000 (32-bit, non-prefetchable) [size16K] Region 1: Memory at ef120000 (32-bit, non-prefetchable) [size4096] Capabilities: [c8] MSI-X: Enable Count16 Masked- Vector table: BAR 0 offset 0x00001000 PBA: BAR 0 offset 0x00003000這里Region 0、Region 1的地址和大小都很正常Control行里Mem表示 memory decode 開著BusMaster表示設(shè)備允許發(fā)起 DMA 和 MSI 寫事務(wù)。也就是說(shuō)從配置空間看BAR 的“門牌”沒有丟地址映射也沒有被內(nèi)核重新分配掉。于是我把懷疑點(diǎn)挪到真實(shí)訪問(wèn)上。2.2 真正讀 BAR 的時(shí)候設(shè)備沒有回包配置空間正常不代表 MMIO 讀寫正常。BAR 里的地址只是一個(gè)窗口CPU 往這個(gè)地址發(fā)一個(gè) PCIe 讀事務(wù)要設(shè)備真正響應(yīng)并返回 read completion數(shù)據(jù)才算拿到。如果設(shè)備端沒有回包表現(xiàn)就取決于平臺(tái)有的橋路會(huì)一直讓讀側(cè)掛死有的會(huì)返回 0xFFFFFFFF還有的會(huì)直接觸發(fā) PCIe 錯(cuò)誤上報(bào)。我當(dāng)時(shí)先用devmem2嘗試讀 BAR 0 的物理地址0xef100000終端直接卡住CtrlC 都難響應(yīng)再試dd讀/sys/bus/pci/devices/0000:03:00.0/resource0也是一樣的癥狀。在另一臺(tái)同型號(hào)機(jī)器上復(fù)測(cè)則是干凈利落地返回了全0xFF。兩個(gè)表現(xiàn)本質(zhì)一樣設(shè)備端沒有返回正常完成。于是我把現(xiàn)象準(zhǔn)確地定為配置空間可讀BAR 內(nèi)容沒被改寫Mem已經(jīng)置位但 MMIO 窗口無(wú)響應(yīng)設(shè)備還在 PCIe 總線上沒有沒電或掉鏈路。2.3 一個(gè)常見的認(rèn)知陷阱BAR 全 FF 不等于“資源沖突”很多人在這一步會(huì)誤判成“BAR 空間被別的驅(qū)動(dòng)占用了”或者“地址分配沖突”。地址沖突的癥狀通常是lspci顯示[disabled]、resource0文件不存在或大小不對(duì)或者內(nèi)核報(bào)cant reserve region。而我們遇到的情況不是資源分配問(wèn)題——BAR 配置完好但后端不響應(yīng)。這更像設(shè)備內(nèi)部的狀態(tài)機(jī)已經(jīng)爛掉比如固件卡死、設(shè)備停在復(fù)位流程中、MMIO decode 被設(shè)備自己關(guān)掉或者它根本沒進(jìn)入能回包的 D0 狀態(tài)。要區(qū)分這兩種情況關(guān)鍵是看“門牌”和“屋里是否有人”兩個(gè)層面配置空間讀就是看門牌MMIO 讀就是看屋里人對(duì)不對(duì)你的敲門有反應(yīng)。門牌在、人不應(yīng)叫設(shè)備無(wú)響應(yīng)門牌被改掉、資源被收回才叫資源沖突。前者往往是設(shè)備或驅(qū)動(dòng)狀態(tài)機(jī)問(wèn)題后者才是內(nèi)核資源管理問(wèn)題。但這里還有一個(gè)更隱蔽的問(wèn)題為什么設(shè)備會(huì)處于“門開著但屋里沒人”的狀態(tài)我一開始以為是設(shè)備固件自主復(fù)位的副作用直到我注意到/proc/interrupts里那列紋絲不動(dòng)的計(jì)數(shù)器才意識(shí)到問(wèn)題很可能出在中斷投遞上。3. MSI 中斷機(jī)制拆解先搞懂“往內(nèi)存寫一筆”怎么變成一次中斷3.1 從 INTx 到 MSI為什么網(wǎng)卡不再喜歡“拉線”傳統(tǒng) PCI 時(shí)代設(shè)備靠 INTx 物理引腳申請(qǐng)中斷也就是每個(gè)功能一根硬線電平或者邊沿觸發(fā)由中斷控制器把信號(hào)送到 CPU。這種方式有三個(gè)天然痛點(diǎn)中斷向量數(shù)量少、多個(gè)設(shè)備往往共享一根線、每次中斷的觸發(fā)開銷和擾動(dòng)都不小。共享中斷尤其麻煩處理時(shí)不確認(rèn)設(shè)備確實(shí)發(fā)生了中斷就得逐個(gè)輪詢所有掛在線上的驅(qū)動(dòng)對(duì)高吞吐網(wǎng)卡來(lái)說(shuō)完全不可接受。MSIMessage Signaled Interrupts把“拉一根線”換成了“寫一筆內(nèi)存”。設(shè)備生成一個(gè) PCIe memory write 事務(wù)目標(biāo)是某個(gè)預(yù)先約定好的特殊地址數(shù)據(jù)里帶上預(yù)分配的中斷向量信息。這個(gè)“寫內(nèi)存”不是普通 DMA它不會(huì)真的往某塊緩沖里塞數(shù)據(jù)而是被中斷控制器識(shí)別并轉(zhuǎn)換成一次 CPU 中斷。對(duì)設(shè)備來(lái)說(shuō)發(fā)中斷變成一次普通的內(nèi)存寫不用再受引腳數(shù)量和共享限制對(duì)主機(jī)來(lái)說(shuō)MSI 天然按設(shè)備甚至按隊(duì)列分配向量不再需要共享。MSI 和 MSI-X 的區(qū)別在于擴(kuò)展性。MSI 最多支持 32 個(gè)向量所有向量共用一個(gè)目標(biāo)地址段MSI-X 則允許每個(gè)向量獨(dú)立設(shè)置自己的 address 和 data所以驅(qū)動(dòng)可以給每個(gè) DMA 隊(duì)列分配獨(dú)立的中斷向量。W 卡這種 16 隊(duì)列的設(shè)備用的就是 MSI-X。3.2 MSI-X 表為什么和 BAR 空間是“同生共死”的關(guān)系MSI-X 有一塊關(guān)鍵的硬件結(jié)構(gòu)叫 MSI-X Table向量表它就放在某根 BAR 指向的 MMIO 空間里。lspci -vvv里那行Vector table: BAR 0 offset 0x00001000就是在說(shuō)BAR 0 這段 16KB 的 MMIO 空間里從偏移0x1000開始放著一張向量表。每個(gè)表項(xiàng) 16 字節(jié)結(jié)構(gòu)如下偏移內(nèi)容說(shuō)明0x00Message Address 低 32 位中斷目標(biāo)地址通常落在中斷控制器區(qū)域0x04Message Address 高 32 位64 位地址的高半部分0x08Message Data中斷數(shù)據(jù)配合地址確定向量0x0CVector Control第 0 位是 Mask置 1 則屏蔽該向量注意這個(gè)細(xì)節(jié)向量表是設(shè)備普通的 MMIO 空間不是配置空間的一部分。驅(qū)動(dòng)或硬件可以把整張表讀出來(lái)、改掉、甚至填成垃圾PCI 配置空間完全不會(huì)察覺。標(biāo)題里的“BAR 空間異?!痹谖疫@次故障里其實(shí)就是這張表出了問(wèn)題——不是 BAR 地址丟了而是 BAR 背后的設(shè)備狀態(tài)連同這張表都陷入了一個(gè)不閉環(huán)的狀態(tài)。3.3 IOMMU 的中斷重映射為什么 MSI 不是“寫進(jìn)去就完事”在啟用了 DMA 重映射的平臺(tái)x86 上常見的中斷重映射機(jī)制或 Arm 平臺(tái)類似實(shí)現(xiàn)MSI 并沒有直接中斷 CPU而是先經(jīng)過(guò) IOMMU 做一次翻譯。設(shè)備發(fā)出的 MSI 寫事務(wù)會(huì)被 IOMMU 截獲IOMMU 根據(jù)寫地址里的“中斷句柄”去查一張中斷重映射表IRTE再把真正的向量和 CPU 投遞信息填入原本的 MSI 消息最終觸發(fā)中斷。這樣平臺(tái)可以把虛擬機(jī)、分區(qū)安全、設(shè)備隔離做得比較干凈同時(shí)也能做到按設(shè)備重映射中斷。重點(diǎn)來(lái)了IRTE 表項(xiàng)是主機(jī)側(cè)內(nèi)核管理的內(nèi)存結(jié)構(gòu)。當(dāng)一個(gè)設(shè)備的中斷被釋放比如驅(qū)動(dòng)卸載、解綁、或者復(fù)位流程里調(diào)用了pci_free_irq_vectors()內(nèi)核會(huì)把對(duì)應(yīng)的 IRTE 表項(xiàng)標(biāo)記為無(wú)效最常見的就是把表項(xiàng)里的 present 位清 0。如果這時(shí)設(shè)備還在用老的 MSI-X 向量表往外發(fā)中斷IOMMU 查到這條表項(xiàng)發(fā)現(xiàn)“無(wú)效”就會(huì)拒絕投遞然后在 dmesg 里打印一條 interrupt-remapping 故障。這就是我前面看到DMAR: [INTR-REMAP] ... fault index 0x1f的真正含義故障索引0x1f對(duì)應(yīng)的就是設(shè)備 MSI 消息里攜帶的句柄而 fault reason0x26在大多數(shù)內(nèi)核版本里翻譯過(guò)來(lái)正是“該 IRTE 已不在服務(wù)狀態(tài)present 位被清”。到這里整個(gè)因果鏈已經(jīng)隱隱約約出來(lái)了主機(jī)端的 IRTE 被釋放了但設(shè)備端的 MSI-X 表沒有同步清掉設(shè)備還在往一個(gè)已經(jīng)被回收的“號(hào)碼”上打電話。呼叫永遠(yuǎn)無(wú)人接聽設(shè)備自然陷入無(wú)人服務(wù)的狀態(tài)。4. 排查鏈路全程復(fù)盤從 DMAR 到中斷計(jì)數(shù)為 0 的關(guān)鍵證據(jù)4.1 證據(jù)一/proc/interrupts 里零增長(zhǎng)的中斷計(jì)數(shù)拿到 DMAR 日志后我做的第一件事是打開/proc/interrupts找 W 卡對(duì)應(yīng)的那行。結(jié)果非?!案蓛簟盋PU0 CPU1 CPU2 CPU3 CPU4 CPU5 289: 0 0 0 0 0 0 PCI-MSI-X 0000:03:00.0 wcard-0中斷編號(hào)是 289設(shè)備名也綁定在wcard-0上但六個(gè) CPU 的計(jì)數(shù)全部是 0。一個(gè)正在跑 8 條數(shù)據(jù)流、忙得不行的網(wǎng)卡居然一個(gè)中斷都沒收到。這說(shuō)明 MSI 消息要么根本沒有發(fā)出來(lái)要么發(fā)了但被 IOMMU 攔掉了。結(jié)合 DMAR 日志答案顯然是后者消息一直在發(fā)只是每次都被 fault 攔截根本不送不到 CPU。中斷計(jì)數(shù)是排查這類問(wèn)題最便宜的探針。如果某個(gè)設(shè)備在負(fù)載下中斷數(shù)紋絲不動(dòng)先別懷疑“它是不是沒用中斷”更常見的是“它想用但投遞不到”。4.2 證據(jù)二lspci 里的 MSI-X 表位置以及它和 fault index 的對(duì)上號(hào)再確認(rèn)一次lspci -vvvMSI-X 是 Enable 狀態(tài)表在 BAR 0 offset0x1000。于是我用devmem2繞開驅(qū)動(dòng)直接讀物理地址0xef101000處的向量表內(nèi)容0xef101000: f0 1f 02 00 00 00 00 00 00 20 00 00 01 00 00 00 0xef101010: f0 1f 02 00 00 00 00 00 00 20 00 00 01 00 00 00看到第一行后我就懂了。每個(gè)表項(xiàng)的 16 字節(jié)里低 32 位 Message Address 是0x00021ff0Data 是0x0020。在中斷重映射開啟時(shí)地址中的低若干位就是 IRTE 索引的來(lái)源0x1f赫然就在其中。這和 dmesg 里反復(fù)出現(xiàn)的fault index 0x1f完全對(duì)應(yīng)上了設(shè)備還在用這個(gè)老句柄發(fā)中斷而內(nèi)核早就把這一項(xiàng) IRTE 釋放了。換句話說(shuō)設(shè)備的“電話號(hào)碼本”里還存著一個(gè)舊號(hào)碼主機(jī)這一側(cè)卻已經(jīng)把號(hào)碼注銷了。這種情況常見于設(shè)備復(fù)位時(shí)序和驅(qū)動(dòng)卸載流程互相打架驅(qū)動(dòng)發(fā)現(xiàn)固件異常觸發(fā)設(shè)備復(fù)位和重新初始化過(guò)程中先把內(nèi)核的 MSI-X 向量釋放掉但設(shè)備這個(gè)復(fù)位流程是先發(fā)生后向內(nèi)存字節(jié)的——它復(fù)位完成、固件開始跑以后向量表里還是老數(shù)據(jù)于是固件按老編號(hào)發(fā) MSI被 IOMMU 擋下。4.3 證據(jù)三把故障時(shí)間線排出來(lái)因果就清楚了把日志按時(shí)間排序之后故障鏈非常清楚時(shí)間事件狀態(tài)T0固件隊(duì)列 0 超時(shí)觸發(fā)內(nèi)部復(fù)位設(shè)備開始復(fù)位MMIO 窗口暫時(shí)不可靠T00.1s驅(qū)動(dòng)走 teardown釋放 MSI-X 向量?jī)?nèi)核把 IRTE present 位清 0T00.3s設(shè)備固件重啟從舊向量表發(fā) MSIIOMMU fault中斷未投遞T01s驅(qū)動(dòng)輪詢 BAR 0 等待 FW ready讀回 0xffffffff / 讀 hangT010sDMAR fault 持續(xù)刷屏設(shè)備永遠(yuǎn)等不到主機(jī)服務(wù)徹底卡死這里要特別強(qiáng)調(diào)一點(diǎn)嚴(yán)格來(lái)說(shuō)BAR 空間讀失敗是“果”不是“因”。設(shè)備在復(fù)位過(guò)程中 MMIO 本來(lái)就可能短暫不可用這本來(lái)可以恢復(fù)真正讓它恢復(fù)不了的是 MSI 投遞鏈路被主機(jī)端提前切斷而設(shè)備側(cè)的向量表沒有同步刷新導(dǎo)致固件永遠(yuǎn)收不到主機(jī)給它“繼續(xù)跑”的許可中斷。于是整個(gè)設(shè)備就死在這個(gè)不閉環(huán)的狀態(tài)里BAR 讀全 FF 只是這個(gè)死循環(huán)的外部表現(xiàn)。4.4 為什么手動(dòng) unbind/rebind 時(shí)好時(shí)壞我試過(guò)用echo 0000:03:00.0 .../drivers/wcard/unbind再 bind有時(shí)候能救回來(lái)有時(shí)候不行。原因也在這個(gè)向量表上單純的內(nèi)核 bind/unbind 并不會(huì)觸發(fā)一次真正的 PCIe 熱復(fù)位或功能復(fù)位設(shè)備側(cè) MSI-X 表里的臟數(shù)據(jù)不會(huì)被硬件主動(dòng)清除。救回來(lái)的那次多半是驅(qū)動(dòng) probe 流程里重新寫了整張表或者設(shè)備正好被鏈路電源管理打到了一個(gè)會(huì)更徹底復(fù)位的狀態(tài)救不回來(lái)的時(shí)候就是設(shè)備已經(jīng)處于“向量表怎么都寫不進(jìn)正確值”的復(fù)位死區(qū)。這也是我為什么后來(lái)直接上removerescan而不是反復(fù) shave 驅(qū)動(dòng)綁定。remove會(huì)把設(shè)備從內(nèi)核 PCI 設(shè)備模型中摘掉rescan再重新枚舉一次相當(dāng)于讓設(shè)備經(jīng)歷一次“消失再出現(xiàn)”大多數(shù)情況下 BIOS 側(cè)和內(nèi)核側(cè)都會(huì)從干凈狀態(tài)重新配置它。5. 修復(fù)方案與代碼級(jí)規(guī)避先把中斷卸干凈再做硬件復(fù)位5.1 現(xiàn)場(chǎng)搶救remove rescan 的正確姿勢(shì)如果以后你在類似故障現(xiàn)場(chǎng)最快的搶救辦法是echo 1 /sys/bus/pci/devices/0000:03:00.0/remove sleep 1 echo 1 /sys/bus/pci/rescanremove會(huì)走一次完整的設(shè)備移除流程驅(qū)動(dòng) detach、中斷釋放、DMA 資源回收rescan會(huì)觸發(fā)新的枚舉重新分配 BAR、重新注冊(cè) IRQ。執(zhí)行完之后檢查三件事lspci能看到設(shè)備、/proc/interrupts出現(xiàn)新的中斷號(hào)、并且中斷計(jì)數(shù)開始增長(zhǎng)。如果rescan后中斷號(hào)還是 289 且計(jì)數(shù)仍為 0那基本說(shuō)明平臺(tái)側(cè)的 IOMMU 狀態(tài)也要參與復(fù)位這時(shí)候重啟是唯一干凈路徑不用浪費(fèi)時(shí)間反復(fù)綁驅(qū)動(dòng)。另外如果目標(biāo)設(shè)備是主板上靠近某些會(huì)被平臺(tái)固件接管功能的槽位建議在搶救之前先把正在使用的應(yīng)用和網(wǎng)絡(luò)接口 stop 掉避免 remove 過(guò)程中應(yīng)用層不停訪問(wèn)已消失的設(shè)備節(jié)點(diǎn)引發(fā)不必要的奇怪報(bào)錯(cuò)。5.2 驅(qū)動(dòng)層面的根治teardown 順序決定一切根因既然是“主機(jī)先釋放 IRTE設(shè)備還在發(fā)老向量”那驅(qū)動(dòng)側(cè)的修法就很明確在硬件復(fù)位之前先把設(shè)備側(cè)中斷生成徹底關(guān)掉再釋放內(nèi)核 IRQ最后才碰硬件復(fù)位。我在這個(gè)項(xiàng)目里給驅(qū)動(dòng)補(bǔ)了一段 quiesce 流程核心順序如下static void wcard_quiesce_before_reset(struct pci_dev *pdev) { struct wcard_priv *priv pci_get_drvdata(pdev); /* 1. 先把設(shè)備側(cè)的中斷源全部 mask 掉清掉 pending */ wcard_write32(priv, WCARD_INT_MASK, 0); wcard_write32(priv, WCARD_INT_CLEAR, ~0U); mb(); /* 確保 posted write 落達(dá) */ /* 2. 關(guān)掉總線主控防止 DMA 和 MSI 繼續(xù)往外發(fā) */ pci_clear_master(pdev); /* 3. 現(xiàn)在才釋放內(nèi)核 IRQIOMMU 的 IRTE 隨之清掉 */ pci_free_irq_vectors(pdev); /* 4. 最后做硬件級(jí)復(fù)位 */ pci_reset_function_locked(pdev); }順序?yàn)槭裁粗匾憧梢园阉氤刹鹚鼙仨毾仍谠O(shè)備的“總閥”把中斷生成關(guān)掉再放掉內(nèi)核側(cè)的向量資源。如果反過(guò)來(lái)IRTE 已經(jīng)清了設(shè)備還開著中斷源那么設(shè)備隨時(shí)可能用老句柄發(fā) MSI正好撞上 IOMMU 的 fault 邏輯。僅這一步就把故障復(fù)現(xiàn)率從“必現(xiàn)”壓到了“不再出現(xiàn)”。順帶說(shuō)一句如果你維護(hù)的驅(qū)動(dòng)里存在 firmware 自主復(fù)位后重新寫 MSI-X 表的邏輯務(wù)必在復(fù)位完成后顯式地把整張向量表重新寫一遍而不是只信一個(gè)“上一個(gè)驅(qū)動(dòng)已經(jīng)寫好了”的前提。硬件復(fù)位會(huì)把設(shè)備內(nèi)部大部分寄存器清回默認(rèn)值但往往不會(huì)保證把 MMIO 類型的 MSI-X 表一并清干凈這就是臟狀態(tài)的溫床。5.3 用中斷重映射開關(guān)做二分驗(yàn)證為了確認(rèn) fault 確實(shí)出在 IRTE 這一層而不是 MSI 寫入本身有別的毛病我試過(guò)在 grub 命令行臨時(shí)加intremapoff啟動(dòng)一次系統(tǒng)復(fù)測(cè)。結(jié)果很有意思設(shè)備的吞吐恢復(fù)正常DMAR fault 一條都不再出現(xiàn)故障時(shí)間點(diǎn)推后甚至消失。這說(shuō)明問(wèn)題不是設(shè)備寫錯(cuò)了地址——而是主機(jī)側(cè)重映射表狀態(tài)和設(shè)備的實(shí)際狀態(tài)不同步。復(fù)測(cè)完成后我把參數(shù)去掉恢復(fù)正常啟動(dòng)方式。這個(gè)方法僅建議拿來(lái)做二分定位不建議生產(chǎn)環(huán)境長(zhǎng)期關(guān)閉中斷重映射。重映射既保護(hù)了設(shè)備隔離也是很多虛擬機(jī)直通場(chǎng)景的必需品。我們的修復(fù)最終是落在驅(qū)動(dòng) teardown 順序上而不是靠關(guān)掉平臺(tái)保護(hù)。6. 這次排錯(cuò)留下的避坑清單與方法論這次排查最值錢的不是“某個(gè)驅(qū)動(dòng)改了幾行”而是形成了一套下次可以直接照做的判斷流程。我把它整理成清單供同樣在調(diào) PCIe / Wi-Fi 驅(qū)動(dòng)的朋友參考先盤配置空間再碰 MMIO。任何“BAR 異常”都先看lspci -vvv的 Region 和 Control 位。Mem、地址值、size 都在說(shuō)明是設(shè)備無(wú)響應(yīng)地址沒了或 size 變成 0才是資源分配問(wèn)題。中斷計(jì)數(shù)是全場(chǎng)最便宜的探針。設(shè)備在高負(fù)載下/proc/interrupts對(duì)應(yīng)行計(jì)數(shù)為 0基本可以斷定中斷投遞鏈路斷了。別急著懷疑設(shè)備模式先懷疑“設(shè)備想發(fā)、但發(fā)不到”。DMAR / IOMMU fault 不是噪聲。它明確告訴你主機(jī)側(cè)哪個(gè)中間件把哪一筆中斷或 DMA 攔住了。fault index 往往是設(shè)備地址編碼的關(guān)鍵線索拿它去和設(shè)備 MSI-X 表內(nèi)容比對(duì)能精準(zhǔn)對(duì)上號(hào)。見到 0xFFFFFFFF 別急著回寫。設(shè)備無(wú)響應(yīng)時(shí)MMIO 讀回全 1 只是“沒有完成”的一種表現(xiàn)。如果此時(shí)驅(qū)動(dòng)盲目寫寄存器可能把硬件推到更深的未知狀態(tài)。先弄清設(shè)備處于什么電源狀態(tài)、是否在復(fù)位中比亂寫更安全。MSI-X 表在 BAR 里和配置空間不在一個(gè)血統(tǒng)。配置空間里 MSI-X cap 顯示 Enable 只是表象真正的向量數(shù)據(jù)躺在 BAR 內(nèi)存區(qū)。所以排查時(shí)一定要把lspci -vvv的 Vector table 位置換算成物理地址直接把表 dump 出來(lái)看。bind/unbind 和 remove/rescan 不是一回事。前者只在內(nèi)核軟件層重走驅(qū)動(dòng)生命周期后者才會(huì)讓設(shè)備經(jīng)歷一次完整的 PCIe 枚舉消失再出現(xiàn)。遇到硬件狀態(tài)臟了優(yōu)先removerescan。teardown 順序永遠(yuǎn)遵守“先關(guān)設(shè)備源再釋放主機(jī)資源”。不管你的設(shè)備是網(wǎng)卡還是 NVMe只要涉及 MSI/MSI-X中斷源的 mask/disable 一定要早于free_irq否則就可能留下一個(gè)“設(shè)備還在打電話、號(hào)碼已經(jīng)注銷”的窗口期。最后再說(shuō)一個(gè)實(shí)操習(xí)慣我現(xiàn)在跑 Wi-Fi 長(zhǎng)時(shí)間測(cè)試都會(huì)在后臺(tái)開一個(gè)循環(huán)每?jī)擅胱ヒ淮?proc/interrupts里設(shè)備中斷號(hào)的增量順便監(jiān)控 dmesg 里 DMAR 關(guān)鍵字。系統(tǒng)在真正斷流之前中斷計(jì)數(shù)早就會(huì)先出現(xiàn)異常這個(gè)“提前量”非常重要。很多難復(fù)現(xiàn)的偶發(fā)問(wèn)題就是靠這種看似笨拙的觀察才抓到了第一現(xiàn)場(chǎng)。其實(shí)排錯(cuò)本身并不神秘難的是在正確的時(shí)間看到正確的證據(jù)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
深情五月天| 天天干天天操天天上| 另类图片天天影视在线观看| 天堂婷婷丁香六月网| 激情碰碰碰| 无码人妻激情| 婷婷激情六月视频| 中国激情网| 丁香五月停停基地| 爱穴久久| 99色在线| 超碰av在线| 国产成人99久久亚洲综合精品| 99re免费精品视频| 久久九九99桃花视频| 色色婷婷五月天| 色综合天天综合成人网| 色婷婷五月天视频在线| 丁香五月天婷婷久久| 蜜乳人妻一区二区三区| 懂色av粉嫩AV蜜臀AV| 丁香花五月天激情| 综合久久综合久久| 99啪| 亚洲精品在线视频| 亚洲色五月| 丁香伊人激情| 色五月久久成人婷婷| 婷婷丁香五月91| 99丁香五月| 色色色色综合网| 婷婷五月天电影区小说区| 五月丁香婷婷无码中文| 精品一二三区视频立| 婷婷丁香社区| 九九人人精品| 色色色999| av免费在线网站| 99天天操夜夜操| 99色在线| αv中文字幕在线观| 丁香六月婷婷色XXXXX| 天天摸天天做天天爱天天爽| 五月丁香在线观看| 美欧成人视频| 九九aV| 丁香五月天婷婷中文字幕| 久久五月天激情视频| 丁香五月天色综合| 天天色天天噜| 色色色色五月| 人人操97| 91一起操| 久久R激情| 青青久在线视频免费观看| 五月天精品| 久久与婷婷| 婷婷丁香五另类网站| av最新在线| 91窝窝| 97婷婷五月| 九月丁香久久网| A片试看120分钟做受视频红杏 | 99久久免费精品| 色婷婷激情视频| 五月激情综合婷婷| 五月色天情| 夜丁香五月婷婷| 26uuu欧美激情另类| 婷婷播播五月天| 精久久色| 中文字幕在线免费| 婷婷激情五月| 婷婷久久色| 日韩 中文 欧美| 久久久久8888| 国产热精品| 有哪些A片网站| 思思re99视频在线观看| 狠狠色狠狠操| 99精品丰满| 伊人综合婷婷| 人人爱天天摸摸天天爱| 天天澡天天狠天天天做| 99久久这里只有精品| 这里只有精彩视| 99er视频在线| 日韩欧美颜射| 中文超碰视在线| 98色丁香五月婷婷综合网| 操日本三片99| 操逼123网| 激情五月天激情综合网| 婷婷丁香18| 夜精品无码A片一区二区蜜桃 | 色婷婷狠狠18禁| 99色视频| www.jiujiujiu| AV激情五月| 激情婷婷丁香色五月综合| A久网| 玖玖婷婷色五月| 精品久久人妻| 九九热99视频在线| 天天爽天天草| 日本人妻伦在线中文字幕| 日本三级第一页| 六月婷欧美| 色五月丁香激情视频| 五月丁香六月婷综合成人综合| 色综合中文| 操碰91| av操一操| 五月丁香六月婷婷的女人| 在线看片av| 午夜69成人做爰视频| 91啪啪啪啪| 六月婷婷狠狠| 婷婷五月激情丁香| 婷婷五月综合社区| 九九爱激情| 97色色色| 亚洲无码另类| 9l视频自拍九色9l视频自拍九色9l社区 | 五月丁香婷婷综合网| 性爱综合网| 五月天婷婷狠狠| 婷婷在线操| 丁香婷婷大香蕉| 99久久天堂婷婷| 色色啊| 无码橾| 日本婷婷激情四射中文字幕在线观看| A1片久久久| 天天夜夜操| 婷婷天堂综合| 亚洲AV网站在线观看| 思思热久久婷婷五月天| 日韩一本操| 操操操操操操婷婷五月天| 国产美女视频久| 亚洲A片成人无码久久精品青桔| 99爱99操| 内射综合网| 97操| 五月天婷婷社区| 伊人爱爱日本| 岛国av电影网站| 丁香六月婷| 五月丁香影院| 1024日韩| 激情综合激情五月| 色域五月丁香| 六月激情综合| 9色在线视频| 七七色色综合| 久操操| 亚洲网视屏| 99在线视频播放| 婷婷综合一二三| 99精品高潮| 国产日韩欧美性爱| 色五月天堂| 欧美视频五区| 成人五月天在线观看| 99热精品在线| 亚洲天堂AAA| 99国产精品久久久久久久久久久 | 99在线视频精品| 狠狠精品干练久久久无码中文字幕| 成人做爰A片免费看视频| 国产va在线视频| 91色久| 小视频在线亚洲| 亚洲精品久久久无码| 五月婷婷色男女| 9久热精品在线视频| 伊人六月无码视频| 婷婷久久亚洲| 26UUU欧美激情一区二区| 麻豆AV一区二区三区| 丁香五月骚喷水视频| 怎么样可以看免费的一级av| 99热精品在线观看| 五月天婷五月天综合网在线观| 白人荫道BBWBBB大荫道| 99精品免费视频| 五月丁香琪琪| 色五月丁香91| www超碰| 色婷婷视频| 中文字幕人妻一区二区| 91碰碰| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 久久色9| 色色色99| 99热这里有精力| 亚洲天堂无码| 俺也去五月婷婷丁| 97碰久久| 丁香五月激情棕合| 激情 久久 婷婷| 狠狠狠色激情综合适合| 激情五月天综合图片小说网站| 91色色色视频| 亚洲日韩一页精品发布| 亚洲在线资源| 欧美VA在线| 五月五婷婷网| 天天综合久久| 五月婷婷综合在线视频| 97色色色| 色综合色色| 日本成人小说婷婷六月| 五月婷婷内射网| 天天操天天插天天射| 黄网免费看| 婷婷丁香五月天狠狠| 婷婷激情六月综合| 殴美97色| 91人妻人人操| 天堂呦 呦百度搜索-百度搜索| 99久久www| 久久成人综合五月天| 桃色激情五月天| 色婷婷丁香五月| 99视频激情四射| 丁香五月激情视频在线| 99久久国产宗和精品1上映| 日韩精品成人在线| 老师把我爽高潮了免费A片| 在线观看免费视频| 影音先锋女人AA鲁色资源| 五月天丁香成人社| 五月婷婷在线观看黄| 亚洲xx在线| 狠狠插狠狠操| 五月婷在线| 婷婷性爱五月天| 丁香婷五月| 亚洲婷婷视频| 亚洲五月天第一综合干| 欧美婷婷| 六月色色| 激情六| 9有码中文| 九月丁香婷婷网| 午夜天堂一区人妻| 4399无码视频| 嫩草免费视频| 精品视频网| 五月久久丁香| 婷婷综合伊人| 97爱综合| 激情深爱五月天| 婷婷五月天伊人网| 色情五月综合婷婷| 国产一区二区三区影院| 任你躁XXXXX麻豆精品| 99综合| 激情久久综合| 五月亭亭开心网| 在线不卡视频| 五月天激情综合10p| 婷婷五月情色| 色五月成人在线| 婷婷五月天激情在线观看| 淫视馆aV二区一区| 久久五月网| 一二三区视频韩国| 成人丁香五月天| 色狠狠综合入口| 99在线亚洲| 一级黄色尤物综合视频手机在线观看| 色婷婷综合影院| 五月婷婷激情| 综合网亚洲| 99热最新| 婷婷五月欧美综合| 欧美月久久| 婷婷综合在线播放| 婷婷六月丁香综合| 丁香六月婷婷激情| 99在线精品视频在线观看| 婷婷五月六月丁香| aaaa久久| 91超碰人人操| www久久久久| av无码电影| 在线99热| 日日日日操| 日本久久性| 狠狠做深爱婷婷久久综合一区| 激情四射五月天| 禁欲电影完整版在线播放| 成人综合网站| 97香蕉人人在线观看| 日本一级一片免费视频| 五月天激情小说电影| 99爱视频免费看| 人妻久久久| 色色网站| 懂色av蜜臀av粉嫩av永陈冠希| 中文字幕综合网| 亚洲激情电影五月天色婷婷丁香一起草 | 开心激情网五月天| 五月丁香婷婷啪啪网| 9 1超碰九色| 夜夜噜夜夜奇| 婷久久| 精品少妇人妻AV无码专区偷人| 九九久99免费视频| 婷婷 激情 五月| 色五月丁香婷婷久草| 狠狠干在线| 国产特黄色精品一区二区三区精品无广告| Av大香蕉| 丁香六月婷婷久久综合| 久久婷青青草原| 色狠狠综合网| 青青草成人网| 中文字幕无码人妻少妇免费视频| 色私五月婷婷| 亚洲久久激情| 天堂呦 呦百度搜索-百度搜索| 亚洲AV网站| 天天爽日日爽夜夜爽| 色啪网| 婷婷色综合中心站| 激情五月婷婷啪啪| 久久激情网| 中文字幕网站在线观看| 五月天激情社区| 九月丁香| ri电影在线| 波多野结衣AV无码Porn| 波多野结衣成人作品在线| 久久这里都是精品免费| 99热久只有| 婷婷六月天天| 色婷婷天堂| 婷婷色丁香六月| 中文字幕按摩做爰| 五丁香激情综合| 国产67194| 超碰在线个人观看| 亚洲成人va| 在线观看免费视频| 91操色| 五月天综合婷婷| www91久久| 99这里只有| 亚洲色99综合天堂| 五月好婷婷| 丁香五月婷婷免费视频| 九九热这里只有精品一| ai97re99一本| 五月丁香婷婷成人网| 五月天大香蕉av| 五月激情偷拍婷婷| 五月婷婷香蕉| 久久人妻久久| 日本高清久| www.五月天婷婷| 久久影视婷婷五月| 综激情网| 久久久er热| 这里有精品| 五月婷婷综合热| 极品人妻VideOssS人妻| 99激| 超碰免费人人肏| 色小说五月婷婷| 久久五月婷综合| 五月丁香狠狠| 色播五月天婷婷老师| 丝袜激情网| 996热re视频精品视频| 97色在线视频| 五月亚洲激情| 亚洲AV成人精品网站在线播放| 色狠狠色狠狠| 任你擦免费视频| 夜夜 操无码| 黄色aaaaa| 99热这里只有精品9| www.十八禁不禁AV.com| 色五月97| 天天射影院| 2025天天爽天天摸| 99久久精彩视频| 另类图片色五月| 婷婷五月丁香五月丁香| 婷婷丁香五月天操逼| 婷婷久久综合| 天天色伊人| 嫩草视频。| 欧美久热| 噜噜五月天综合| 一级精品999WWW| www,五月天com| 香蕉97碰碰碰欧美| 日本久热| 激情性五月天免费小说视频| 久久伊人五月天| 噼里啪啦完整版中文在线观看| 99热777| 超碰99在线| 五月天婷婷色播| 激情丁香五月AV| 五月天伊人网| 青青草激情网| 日日色五月天| 热五月婷婷| 国产精品色情AAAAA片软件| 五月天激情无码| 九九视频免费| 99热日| 国产美女无遮挡裸体毛片A片| 五月婷婷六月开心| www.婷婷五月天啪啪| 国产亚洲色婷婷久久99精品9j| 99re热视频这里只精品| 婷婷成人视频| 丁香九月婷婷色| 久久99视频| 久草婷妨| 亚洲A片成人无码久久精品青桔| 五月天偷拍| 亚洲 无码 中文字幕 中出| 香焦网五月天| 综合久久伊人| 男女激情久久| 国产乱人偷精品人妻A片| 天天操婷婷| 五月综合激情图片| 丁香五月狠狠在线观看| 三男玩一女三A片| 26.uuu丁香五月婷婷| 99re这里有精品手机在线| 六月婷婷激情| 99WWW免费视频| 色综合77777| 丁香九月激情| 色婷婷小说网| 久久99热这里只有精品| 婷婷射丁香| 深爱五月激情五月| 九九久久网| 艾小青av| 99热这里只有精品官网| 好好干av| 婷婷五月婷婷五月| 人人色性网| 天天色月| 美妞av| 九九热超碰| 国产熟女大叫受不了| 极品少妇婷婷五月| 伊人玖玖综合| 第四色五月婷婷| 中文成人在线| 欧美日韩国产一区二区| 热99在线精品| 五月丁香婷婷综合久久| 激情综合无码| 五月激情日本在线| 凹凸探花电影| 操你av| 97韩国久久电影院| 五月综合无码| 久久狼人天堂| 精品人妻一区| 亚洲字幕AV一区二区三区四区| 午夜性做爰电影| 丁香激情网| 国产看真人毛片爱做A片| www五月| 91九九九九| 99天天操夜夜操| 日韩无码亚欧无码| 国产97色在线 | 日韩| 五月婷婷婷综合网| 天天激情综合| 激情综合六月| 91碰超| 五月婷婷啪啪| 91中文狠狠综合| 色色综合五月| 九九色精品| 七七九九色色| 婷婷五月花丁香| 欧美激情VA永久在线播放| 自拍偷窥99热| 碰97 久| 丁香97综合| 日本久久人人| 襙比视频| 五月丁香综合激情网| 饮料下药迷倒漂亮女同事强干| 亚洲亚洲人成综合网络| 九九综合网色全集 | 九九热精品6| 一区视频网站| 婷婷色色亚洲| 狠狠丁香| 播五月丁香六月| 情色婷婷五月天| 五月香婷婷| 99小视频在线观看| 成人久久天天x资源站| 毛片色五月| 九月婷婷综合| 亚洲第二AV| 欧韩性爱| 91人碰| 国产美女无遮挡裸体毛片A片| 婷婷色情五月| 欧洲综合色| 久久久激情视频| 欧美日韩二区在线| 超碰人人干| 五月婷婷综合精品| 欧洲色色| www.婷婷五月| 91无码高清| 中文字幕av久久爽一区| 丁香五月婷婷乱| 翔田千里 50岁 无码| 日本强伦片中文字幕免费看| 1024手机在线观看看片_日韩精品| 五月丁香六月激情视频| 日本熟妇乱妇熟色A片蜜桃| 丁香六月综合| 色九九丁香九月色九九色| 五月天丁香成人| 99久久婷婷五月天| 成人片在线播放| 天堂va久久久噜噜噜久久Va| 美女亚洲五月丁香| 丁香六月激情| 一级黄色操B| 深爱五月激情综合| 久久婷婷丁香| 美国不卡视频| 久久欧洲综合网| 九月丁香婷婷| 五月丁香成人| jizzdr| 日本强伦片中文字幕免费看| 蜜臀AV在线成人| 婷婷五月激情五月激情| 婷婷五月丁香青青草在线| 亚洲超碰在线| 大香蕉久久| 丁香色影院| 这里只有精品视频看看| 国产露脸150部国语对白| 91丨九色丨白浆秘| AV性爱网| 超碰a女人的天堂| 99久久er| 日韩精品无码一区二区| 538久久| 九九热精品| 婷婷久热| YJLZZJLZZ亚洲乱熟无码| 婷婷久久色| 日韩色五月| 亚洲mm免费| 最新五月天婷婷影| 亚洲xx在线| 激情五月天之五月婷婷| 国产特级毛片AAAAAAA高清| 亚洲激情电影五月天色婷婷丁香一起草| 97人人搞| 深爱丁香网| 日日日日日| 99精品视频在线观看免费| 色99在线视频| 婷婷色五月噜噜| www色五月| 日韩无码91| 思思热在线视频精品| 欧美激情-区二区三区| 久久A区B区| 97涩婷婷| 五月天久久91| 伊人久久婷婷| 中文字幕在线免费观看视频| 五月丁香 久久久| 中文字幕无线久必| 日日操人人操| 激情五月婷| 色婷婷久久综合| 成人在线网址| 久久HD| www.狠狠狠.com| 97超级碰| 67194中文字幕| 狠狠色噜噜狠狠狠狠综合| 99热这里只有精品在线观看| 六月亚洲| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 97九色| 这里只有精品视频在线观看免费| 国产熟妇的荡欲午夜视频| 欧美激情-区二区三区| 欧美碰碰| 超碰在线看| 精品色色网| 九月色婷婷综合亚洲| 亚洲第一成人无码A片| 五月婷婷xxx| 少妇出轨做爰高潮A片| 激情五月,婷婷五月,丁香五月| 亚洲色色五月| 可以免费观看的av| 五月丁香777| 97色婷婷成人综合在线观看| 97伦乱| 婷婷少妇激情| 久久五月激情网| 久色激情| 夜夜嗨一区二区三区直播内容| 成人在线99| 五月丁香六月婷婷综合在线| 综合网精品99| 中文字幕在线免费观看视频| 99热这里只有精品86| 色久播播| 久人操| 99∨VTV| 欧美日韩成人在线观看| 99综合99| 丁香五月 综合| 亚洲不卡123| 久久综合丁香激情五月| 激情五月婷婷综合| 色色丁香五月婷婷| 伊人春天av| 色青五月天| 五月激情在线| 老司机伊人| 中文乱子伦视频| 亚洲五月六丁香激情| 偷偷操99| 9色天堂| 无码视频国内精品久久久| 在线中文av| 色99视频| 久久性爱视频这里只有精品| 丁香六月 婷婷六月| 日韩性视频| www.玖玖婷婷在线| 嫩草哈哈操| 亚洲日韩一页精品发布| 久久六月综合| 丁香六月综合激情| 91免费看片| 丁香五月在线观看| 四色AVwww| 国产欧美日韩一区二区三区| 狠狠夜夜五月丁香| 色色色色色热| 亚洲午夜精品久久久久久人妖| 91九色超碰正在播放| 色色五月天 亚洲| 色视频色综合91| 激情五月天网站| 欧美色色色色色| 激情图片婷婷| 激情九月婷婷| 色久九| 丁香婷婷激情五月天无毒不卡蜜桃| 色欲久久久久| 亚洲aV写真天天综合网久久| av中文网站| 噜噜噜精品欧美成人在线观看| www.狠狠操.co m| 亚洲视频在线观看99| 日韩九区| 六月婷婷狠狠| 天天色,天天操,天天射| 综合在线丁香五月| 五月丁香狠狠地噜噜噜噜| 欧美性爱特黄一级aaaassss| 99热这里只有精品最新| 天天谢天天操| 婷婷激情视频| 激情综合亚洲| 九九Av| 99视频在线| 免费视频无码| 万月丁香狠狠爱| 韩国不卡AC视频| 婷婷狠狠狠爱| 九色91美女| 99爽视频| 丁香五月六月婷婷自拍| 色综合日日| 综合婷婷五月天| 婷婷五月色情| 亚洲精品视频在线播放| 成人国产欧美大片一区| 91久女| 国产成人高清| 激情深爱婷婷网| 五月婷久久在线| 婷婷六月天激情| 91狠狠综合久久久久久| 专区无日本视频高清8| 久久久宗合视频88| 成人在线视频一区| 爱操人妻| 久久五月天黄色五月天色网址| 色五狠狠| 六月婷婷av| 九九99九九精品免费 | 五月婷婷二月丁香| 大香蕉伊人99| 在线中文AV| 婷婷五月激情视频网| 久/久精品99看9| 成人婷婷五月| 九九干视频| 国产精品久久久久久久久久免费| 超级碰碰一区| 99色最新在线视频| 热99AV网站| 五月婷婷综合网| 丁香婷婷六月| 伊人网欧美在线男人天堂五月丁香| 思思热热久久| 久99久精品视频| 婷婷大香焦| 婷婷性爱网| 99热这里全是精品| 狠狠操狠狠| 99久精品| tingtingzonghewang| 97碰人人操| 激情精品久久| 九九热这里有精品视频| 日本3级片一区2区| 黄色视频网站在线播放| 激情五月婷婷| 色色色图| 天堂久久久久天堂网| 五月丁香| 91婷婷五月天嫩女| 五月伊人91| 69热在线| 色婷五月天| txt五月激情四射网综合俺也来了| 五月激情另类| 超碰在线人妻| 久久综合综合久久| 日韩九九| 九 九九九AV| 26uuuu精品一区二区| 超碰91在线| 9操在线| 天天爽夜夜爽天天爽夜夜爽| 97超碰免费超级在线观看| 99热最新网址| 婷婷色在线| 永久免费一区二区三区| 涩综合婷婷| 综合另类激情| 五月宗合激情网| 国产人妻人伦精品一区二区| 99在线观看亚洲| 久久9视频欧美| 欧美色宗和激情| 婷婷欧美| 丁香久久九九99| 色偷偷五月天| 婷婷伊人綜合| 激情五月婷婷| 黄久久久| 99九九在线| 激情丁香九九五月综合网| 1024操逼视频| 婷婷久久五月天丁香| WWW,五月| av在线播放网址| 另类激情五月| 色九月婷婷综合| 亚洲激情AV| 九九人人操| 午夜五月天| 国产精品视频网| 激情五月天伊人影院| 九色PORNY在线精品酒店| 色综合天天天天做夜夜| 综合九九久久| 婷婷六月色开 | 欧美性色A片免费免费观看的| 国产99精品免费视频| 色色色五月婷婷| 亚洲综合五月天综合| 亚洲精品久久久久久久久久吃药| 激情亚洲婷婷六月| WWW、99热| 丁香五月婷婷五月天| 玖玖婷婷精品| 涩五月婷婷| 色播五月天天| 97超碰在线观看免费| 思思热视频在线| 色综合久久888| 啪啪91| 五月激情黄色小说| 色五月激情综合网站| 蜜桃人妻无码AV天堂三区| 97在线刺激| 国产精品第一国产精品| 久色网五月| 色婷婷色九月| 国产精品色| WWW,婷婷,COM| 久超超碰| 极品少妇XXXX精品少妇偷拍| 日韩精品二三区| 怡红院成人AV| 天天日天天色| 天天天天做夜夜夜夜做| 久久人人超| 五月天激情网站| 国产午夜一区二区三区| 久久婷狠狠色| 五月婷婷操操| 91无码高清| 亚洲AAA| 五月婷婷六月丁香首页| 996热| 激情深爱五月| 色五月丁香五月五月婷婷| 五月天婷婷狂暴白浆| 婷婷综合五月天| 五月综亚洲| 超碰人人超碰| 色啦啦视频| 另类小说色婷婷| 色色色.COM| 九九99视频精品| 黄色五月婷| 亚洲成人影视在线| 久久久久亚洲AV无码网影音先锋| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 超碰人人色| 播五月开心婷婷欧美综合| 五月丁香六月婷婷,婷| 成人网站高清无码| 五月婷婷基地| 丁香五月婷婷AV| 米奇影视资源婷婷狠狠色激情欧美五月丁香 | 婷婷色五月天在线观看| 五月婷婷六月爱| 色综合大香蕉| 色噜久| 国产精产国品一二三在观看| 色色激情五月天| 天堂草在线观看| 思思色综合网站| 久久综合性| 伊人色综合久久久| 久婷婷视平| 性做久久久久久久免费看| 婷婷五月天综合AV| 色婷婷六月丁香综合欲精品| 夜夜躁狠狠 | 九九久久精品| 婷婷五月天小说| 激情综合色婷婷六月天| 色亭亭五月天网扯| 六月丁香啪| 亚洲不卡| 在线观看的av| 国产44页| 日韩久综合| 婷婷丁香六月天激情四射网| 日韩AV免费电影在线播放| 久久婷婷综合五月天| 日本91在线| 桃色五月天| 婷婷欧美| 人人射人人高潮| 天天激情站| 色婷婷a三区麻| 婷婷六月天激情影院| 婷婷爱在线观看| sesesesezonghe| 色婷五月婷婷| 午夜一区| 丁香五月婷婷深爱综合激情| 亚洲天堂爱爱| 久久丁香| 婷婷偷拍网| 玖玖99福利| 丁香五月 综合| 就爱啪啪婷婷| 六月丁香婷啪射| wwwC0maV五月花| 婷婷五月天激情综合深爱| 欧美婷婷五月天综合| 五月婷婷六月爱| 五月丁香花开综合网| 五月丁香六月婷婷手机无线| 久色国产| 人人摸人人搞| 成人五月天丁香婷| 天天综合网在线| 九九热中文| 六月丁丁香| 少妇人妻人伦A片| 亚洲亚洲人成综合网络| 密着浓厚中出乚交尾GvG935| 操逼电影免费看| 另类图片五月天激情| 1024操逼视频| 色伊人婷婷| 99久久国产宗和精品1上映 | 性综合网| 亚洲精品久久久久久久久久吃药| 中文不卡av| 9l视频自拍9l视频自拍九色学生| 久久草中文日韩欧美| 99在线观看视频免费| 亚洲精品乱码久久久久久综合| 九九热视频免费的| 99热免费精品| 五月婷婷激情久久| 狠狠精品干练久久久无码中文字幕| 九九色插| 天堂色婷婷| 综合狠狠五月婷婷| 996日日爱| 激情五月丁香五月| 婷婷色色亚洲| 激情五月综合第一页| 狠狠做六月爱婷婷综合aⅴ| 五月色情网| 免费看成人747474九号视频在线观看| 五月丁香婷婷综合网| 婷婷99视频在线| 亚洲婷婷五月| 五月丁香婷婷激情在线| 久久久久久人妻久久久久久久久久人妻久久久 | ady狠狠入| 9er热在线精品视频| 开心婷婷五月天电影院| 99人妻碰碰碰久久久久视| 亚洲激情综合| 99色免费| 五月天色综合服务平台| 五月婷婷色| 久久人妻少妇嫩草AV| 婷婷综合影院| 五月天婷a| 1024国产| 色护士综合| 天天做天天双| 婷婷丁香五月综合免费视频百花| 国产亚洲成AV人片在线观黄桃| 日本久久极品| 就爱啪啪婷婷| 久久婷婷网站| 九九九九中文字幕| 久久五月视频| 秋霞A V毛片| 东北熟女高潮99综合99| 、激情六月天| 91成人电影| 3p九色在线| 久久er+| 五月婷丁香| 91九九九九九九| 狠狠大香婷婷爱| 色婷婷国产精品综合在线观看| 激情AV综合| 国产色色在线| 天天操比比| 亚洲成人影视在线| 色婷婷五月天激情久久| 久久狠狠干| 男人視頻站| 热99只有精品| 久久9热好| 五月天 综合 在线| 成人av中文字幕| 久9视频免费播放| 五月丁香激情六月| 亚州在线中文字幕| 五月丁香美女视频| 婷婷性爱影院| 99热爱爱干干日| 九九热这里只有精品6| 丁香婷婷久久五月天| 五月激情综合婷婷| 五月天激情网站| 婷婷欧美偷拍综合| 五月婷婷综合激情网| 97在线/亚洲| 亚洲热综合| 色综合久网| 丁香五月五婷| 壅壅儕家a| 婷婷五月天免费视频| 亚州在线中文字幕| 天天情色五月天| 成人无码精品1区2区3区免费看| 国产阿姨日皮艹逼内射视频| 五月婷婷色| 婷婷四月 成人 狠狠干| 日本综合久久| 色欲婷婷夜夜| 97色色视频| 第2色五月婷| 国产精品久久欧美久久一区| 日韩五月天婷婷| 亚洲精品又粗又大又爽A片| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 五月天婷婷免费| 九九色婷婷| 91色久| 狠狠爱综合网| wwwxxx五月婷婷小说| 人妻丰满精品一区二区A片| 五月婷婷久久网| 亚洲中字AV电影在线网站| WWW.99热| 亚洲六月色| 夜夜操,天天撸| 五月婷婷成人| 91大神操美女| 色八月婷婷| 日日干夜夜干| 国产美女最新VA在线免费观看| 淫视馆av三区| 亚洲色99| 91viP在线看| 欧美日综合| 九色在线观看91av| 综合色情网| 久久五月天色婷婷| 婷婷狠狠综合网入口| 色综合综合网| 丁香伊人网| 内射干少妇亚洲69XXX| 亚洲性爱日韩无码| 好色婷婷| 97自拍视频在线| 五月丁香婷中文| 色婷婷情片| 91丨九色丨国产打屁股| www.人人操人人看人人想人人摸 人人人人操,COM | 综合九色| 激情综合色网| 五月婷婷婷婷婷婷艺术| 91丨九色丨老农村| 九九色热| 五月天成人在线播放丁香| 国产成人AV在线播放| 99在线观看精品视频| 丁香六月天之亚州热女 | 97在线视频人妻九色| 国产99久久久国产精品免费看| 五月丁香婷婷激情视频| 五月激情网站| 性爱激情五月| 我爱大香蕉| 亚洲综合视频一下| 亚洲旡码| 91肏肏肏| 97人人射| 五月婷婷69| 婷婷五月激情网站| 九九热99精品| 99久久国产宗和精品1上映| 99视频只有这里精品| 五月婷成人| 97色碰碰公开视频| 色婷婷99| 嫩草视频在线观看| 久色网五月| 密黄站| 欧美日本黄色| 综合六月久久| 五月丁香亭亭| 天天天干夜夜夜操| 久久婷婷欧美| 激情丁香婷婷六月天| 免费观看高清无码| 国产精品久久久久久久久久| 九玖欧洲亚洲| 激情五月深爱五月| 丁香五月婷婷色情综合| 色综合久久久无码中文字幕999| 淫视馆AV在线| 激情色视频| 99在线小视频| 99久久九九视频| 亚洲另类电影| 成人网址在线观看| 婷婷亚洲欧美丁香五月| 五月婷婷综合色啪| 九九av| 超碰色色综合| 九九综合五月欧美| 亚洲九九99精品视频在线播放| 人人爽天天爽| 激情图片婷婷丁香五月| 五月情色天| 九九爱看亚洲| www.狠狠干| 99爱免费在线观看| 五月婷色色| 综合婷婷久久| 伊人狠狠丁香婷婷综合尤物| 五月天丁香花婷婷| 丁香五月色情av| 久久婷婷五月天大香蕉| 五月婷婷五月天| 久久五月综合| 夜夜骑夜夜撸| 丁香九月综合| 97干视频| 天天色天天操天天射| 性爱视频99| 五月激情站| 欧美一级操逼视频| 激情文学五月丁香六月婷婷| 欧美α√| 79色色| 色色色色色色色色网站| 丰满熟女人妻一区二区三| 五月精品免费XXX| 操一操| 激情综合丁香五月| 久久A V无码视频| 色播五月| 91九色无码日韩| 激情五月天啪啪| 中文字幕在线免费| 丁香六月五月天| 九九碰九九爱97超碰| 思思热视频在线观看| 99综合视频| AV九九| 亚洲午夜成人av电影网| 丁香五月伊人| 九九色网| 99热亚洲精品| 婷婷五月播| 伍月婷丁香婷| 能看的AV网站| www.婷婷五月| 久9久成人精品视频| 亚洲热久久| 欧美性生交XXXXX无码小说| 中文字幕精品无码一区二区| 五月激情综合婷婷| 在线成人视频免费| 丁香婷婷九月| 色五月婷婷婷婷婷婷婷婷婷婷| 婷婷欧美综合| 激情综合在线观看| a色色片| 亚洲、热| 婷婷丁香激情综合色情| 五月丁香激情综合啪啪| 天天天天天日| 97色碰| 国产色色色色色| 免费在线a| 大香蕉精品视频| 日夜夜久久| 国产视频婷婷| 天天天天天日| 六月婷婷八月丁香| 五月丁香啪啪| 永久天堂日本| 97五月天婷婷综合激情网| 天天综合网、天天综合色 | 手机在线日韩视频中文字幕| 台湾综合丁香五月蜜桃| 五月天狠狠草| 色六月婷婷| 久久综合天天综合| 超碰国产AV| 综合网五月| 韩国97天堂| 这里只有精品亚洲| 狠狠操狠狠狠| 九九aV| 婷婷五月天综合久久日美女| 色婷婷色综合久久精品V| 婷婷成人综合| 色噜噜狠狠狠综合曰曰曰| 99热啪啪| 99热有精品在线观看| 久操婷婷| 久久综合五月| 亚洲欧美婷婷五月色综合| 中国女人做爰A片| 色九九综合热99| 青青草蜜臀| 國語久久婷| 新激情婷婷| 久草五月| 日本婷婷色日| 欧美激情综合| www.com.色色| 91精品久久久久| 婷婷综合色五月天| 色欲色香综合网| 97人妻人人| 激情综合婷婷| 99re久久| 99.N在线视频| 婷婷色网站| 老司机日日夜夜青草| 这里有精品| 久久婷婷五月综合啪| 99热99这里有免费的精品| 色婷婷色99国产综合精品| 停停六月 综合| 九九热这里只有精品9| 婷婷五月花| 天天看A片| 丁香五月人妻| www.韩日视频| 亚洲 小说 欧美 激情 另类| 婷婷丁香五另类网站| 丁香五月黄色| 丁香五月婷婷六月| 五月婷婷色色爱| 做爱夜夜干天天操| 操操啪| 五月丁香色色| AV人人操| 久久色午夜在线导航| 亚洲综合狠狠艹| 2025超碰| 久热这里这里有精品| 99综合| 色 免费网站视频| 日韩成人电影在线播放| 9视频1在线| 婷婷五月花| 丁香五婷婷| 少妇激情五月天| 男人視頻站| 五月天婷婷丁香基地在线观看| 人人97操| 久久这里只| 97超碰9久热婷婷热| 婷婷五月天激情基地| 黄色中文字目| 综合六月激情婷婷| 婷婷激情六月中文| 韩国三级五月天婷婷。| 激情色五月天| 婷婷久久草|