On 04/03/15 at 05:01pm, Li, ZhenHua wrote: > Hi Dave, > > There may be some possibilities that the old iommu data is corrupted by > some other modules. Currently we do not have a better solution for the > dmar faults. > > But I think when this happens, we need to fix the module that corrupted > the old iommu data. I once met a similar problem in normal kernel, the > queue used by the qi_* functions was written again by another module. > The fix was in that module, not in iommu module. It is too late, there will be no chance to save vmcore then. Also if it is possible to continue corrupt other area of oldmem because of using old iommu tables then it will cause more problems. So I think the tables at least need some verifycation before being used. > > > Thanks > Zhenhua > > On 04/03/2015 04:40 PM, Dave Young wrote: > >>To fix this problem, we modifies the behaviors of the intel vt-d in the > >>crashdump kernel: > >> > >>For DMA Remapping: > >>1. To accept the vt-d hardware in an active state, > >>2. Do not disable and re-enable the translation, keep it enabled. > >>3. Use the old root entry table, do not rewrite the RTA register. > >>4. Malloc and use new context entry table, copy data from the old ones that > >> used by the old kernel. > > > >Have not read all the patches, but I have a question, not sure this has been > >answered before. Old memory is not reliable, what if the old memory get corrupted > >before panic? Is it safe to continue using it in 2nd kernel, I worry that it will > >cause problems. > > > >Hope I'm wrong though. > > > >Thanks > >Dave > > > > >