场景说明:使用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,如需转载请自行联系原作者