I found there are more data need to be cleared for the dump kernel. So please ignore this patch, I will send out another one.
Thanks Zhenhua On 08/19/2014 07:59 AM, Li, Zhen-Hua wrote:
My debugging result is this: 1. Clear the old root entry table, dump kernel will choose another memory region for root entry. 2. Do NOT clear the old root entry, when dump kernel initializing the iommu data structure, it will allocate memory for root entry, this is different from the old address. If not clear old entry , the error message appears before dump kernel finishes the iommu init works, and also appears in other places(before device inits). If I clear the old root entry, the error message disappears before iommu init work finish, but still appears in other places. -----Original Message----- From: Li, Zhen-Hua Sent: Tuesday, August 19, 2014 7:48 AM To: Li, Zhen-Hua; Joerg Roedel Cc: David Woodhouse; [email protected]; [email protected] Subject: RE: [PATCH 1/1] iommu/vt-d : clear old root entry for dump kernel When the dump kernel boots, it will initialize iommu again, and the root entry will be allocted in another memory region. That means, no matter kernel clears the old root entry table or not, the dump kernel will use another memory region when iommu initializing. -----Original Message----- From: Li, Zhen-Hua Sent: Tuesday, August 19, 2014 7:27 AM To: 'Joerg Roedel' Cc: David Woodhouse; [email protected]; [email protected] Subject: RE: [PATCH 1/1] iommu/vt-d : clear old root entry for dump kernel : [fault reason 01] Present bit in root entry is clear It appears when iommu initializing in the kdump kernel. -----Original Message----- From: Joerg Roedel [mailto:[email protected]] Sent: Tuesday, August 19, 2014 7:23 AM To: Li, Zhen-Hua Cc: David Woodhouse; [email protected]; [email protected] Subject: Re: [PATCH 1/1] iommu/vt-d : clear old root entry for dump kernel On Mon, Aug 18, 2014 at 11:01:56PM +0000, Li, Zhen-Hua wrote:There is a bug when Linux running on an HP large system: when kdump kernel runs, the hardware is still using the old root entry. This causes error message when iommu not finished initialization.What error message are you seeing? When the kdump kernel boots the iommu should be still enabled from the old kernel with the old root-entry. So any in-flight DMA initiated from the old kernel can still pass and there should be no error messages. When you clear the root-entry that in-flight DMA might go to another random location in system memory or just fail, no? Joerg
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

