From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: IOMMU Interrupt Remapping query Date: Tue, 7 Jun 2011 09:44:54 +0100 Message-ID: <4DEDE506.5040605@citrix.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Keir Fraser Cc: "xen-devel@lists.xensource.com" , "Kay, Allen M" List-Id: xen-devel@lists.xenproject.org On 06/06/11 19:53, Keir Fraser wrote: > On 06/06/2011 17:37, "Andrew Cooper" wrote: > >> On 06/06/11 16:21, Keir Fraser wrote: >>> On 06/06/2011 15:32, "Andrew Cooper" wrote: >>> >>> >>>> This problem occurs with the XenServer version of 4.1.0 as well as on >>>> xen-unstable at the moment. >>>> >>>> Is there any hardware state which is not taken down by the disable >>>> function, any subtle interactions which I have not taken account of? I >>>> have looked through the source and nothing pops out, but I am out of ideas. >>>> >>>> Thanks in advance, >> Attached are the two relevant patches, and two which I don't think are >> relevant but might be if I am wrong. crash_shutdown was an attempt to >> make an iommu_ops which shut down all iommu functionality without saving >> state. debug-wip shows where I have put in debug statements. > I think what you need to do ought to be quite similar to the teardown we do > for S3 suspend. Have you considered reusing some of the mechanism in > arch/x86/acpi/power.c? The function device_power_down(), and possibly some > other bits in its caller, would be especially useful I should think. It > already shuts down iommu functionality, turns off x2apic, etc etc. Even if > it is not a perfect fit as is, perhaps it could be fixed up -- it sure looks > similar to what ypu're trying to do. :-) > > -- Keir > On a hunch, I tried that last night, and it resulted in the kdump kernel hanging indefinitely (well - 14 hours now) on checking the hlt instruction. I will continue to play around with that area though, as it does seem like a sensible idea. ~Andrew >> kdump-fix-x2apic and apic-record-boot-mode are also in the source, but I >> believe them to be unrelated to the current problem. >> >> I have done some further debugging on the assumption that the order of >> shutting down interupt remapping matters with shutting down the lapics >> and ioapics, but disable_qinval causes a panic (qinval.c:222 - "queue >> invalidate wait descriptor was not executed\n") if it is run before both >> the lapics and ioapics are shut down. > -- Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer T: +44 (0)1223 225 900, http://www.citrix.com