場景說明:使用USB裝置啟動Linux系統,出現這個情況下很可能導緻根檔案系統損壞,這種情況下的日志異常如下:
dmar:DRHD: handling fault status reg 2
dmar:DMAR:[DMA Read] Request device [00:1f.2] fault addr caa40000
DMAR:[fault reason 06] PTE Read access is not set
然後提出如下的問題:
問題1:DRHD是什麼
問題2:DMAR是什麼
問題3:00:1f.2是什麼位址,指向誰
問題4:PTE是什麼
問題5:NIC是什麼
問題6:DPDK是什麼
If you don't test the DPDK in virtualization environment.
The easy way to fix it is to disable the VT-d in the BIOS
如下是google的原文:
google上說該問題可以通過修改核心參數消除:
intel_iommu=off or intel_iommu=pt
但是無效。由于水準有限如下是:
I've googled that the errors should dissapear after setting intel_iommu=off or intel_iommu=pt kernel parameter but for me it's not
working at all. I've only learned that I shoudn't ignore this error as it affects
performance (which is correct as my fps in games dropped badly) and destroy filesystems(關注點在
損壞檔案系統) (I don't understand why as it suppouse to be problem with video driver)
确實在現場中發現這個問題,根檔案系統嚴重損壞,并且導緻整個U盤無法格式化,變成隻讀,
完全over了。
I solved it by disabling virtualization support in bios... I don't get a thing now but I'm not using it anyway so... solved?
Edit: not solved, sorry, it was just for one reboot, probably prompt didn't appear for some reason...
查了資料發現參數是: intel_iommu=igfx_off 問題dmar表或者bios損壞了針對這個問題不得而知
Okay, so basically the command needs to be intel_iommu=igfx_off now (this error is rare and my previous search gave me solution
from 2009) and it fixed the issue. As I've learned, the error is because dmar tables or my BIOS are broken... don't really know
what it does, I'll check for upgrade but it's not Linux fault so I'm markin it as solved after all...
以上是問題的難點:
1)該錯誤是否會引起檔案系統損壞
2)該錯誤是否是硬體問題
本文轉自fengyuzaitu 51CTO部落格,原文連結:http://blog.51cto.com/fengyuzaitu/1387042,如需轉載請自行聯系原作者