From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: Powerdown problem on XEN | ACPI S5 Date: Wed, 14 Aug 2013 15:00:03 +0100 Message-ID: <520B8D63.6040903@citrix.com> References: <520B4465.6000600@web2web.at> <520B784F02000078000EBD42@nat28.tlf.novell.com> <520B8B8E.5020504@web2web.at> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1V9bcP-0007JS-LG for xen-devel@lists.xenproject.org; Wed, 14 Aug 2013 14:00:09 +0000 In-Reply-To: <520B8B8E.5020504@web2web.at> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Atom2 Cc: xen-devel , Ian Campbell , Jan Beulich List-Id: xen-devel@lists.xenproject.org On 14/08/13 14:52, Atom2 wrote: > Hi Jan, > thanks for reply. You are obviously right that the first thing > device_power_down does, is console_suspend(). I don't know why that > escaped my eyes when I originally searched the file ... > > Anyways, I have now disabled console_suspend() and also added a few > more lines to the code with printk statements indicating up to which > point the system had gone (without errors). With hindsight I guess the > new printk() statements might not have been required as now, with the > console still active, a panic message pops up at the end, resulting in > rebooting the system: > > (XEN) Disabling non-boot CPUs ... > (XEN) Entering ACPI S5 state. > (XEN) After local_irq_save > (XEN) After spin_debug_disable > (XEN) After time_suspend > (XEN) After li8259_suspend > (XEN) After ioapic_suspend > (XEN) DMAR_IQA_REG = 80d87c002 > (XEN) DMAR_IQH_REG = 120 > (XEN) DMAR_IQT_REG = 140 > (XEN) > (XEN) **************************************** > (XEN) Panic on CPU 0: > (XEN) queue invalidate wait descriptor was not executed > (XEN) **************************************** > (XEN) > (XEN) Reboot in five seconds... > (XEN) Resetting with ACPI MEMORY or I/O RESET_REG. > > NOTE: All the messages starting with "(XEN) After" are from my changes > to the code; the rest is as is - except me commenting out > console_suspend() in power.c. I hope that helps in resolving the issue > and the panic is not just the result of a knock-on effect from > commenting out console_suspend() earlier. Huh - I thought I had fixed this issue already. Can you confirm exactly which version of Xen you are using (including changeset), and perhaps compile in this patch: diff --git a/xen/drivers/passthrough/vtd/qinval.c b/xen/drivers/passthrough/vtd/qinval.c index 6a410d8..d023b26 100644 --- a/xen/drivers/passthrough/vtd/qinval.c +++ b/xen/drivers/passthrough/vtd/qinval.c @@ -220,6 +220,7 @@ static int queue_invalidate_wait(struct iommu *iommu, if ( NOW() > (start_time + DMAR_OPERATION_TIMEOUT) ) { print_qi_regs(iommu); + WARN(); panic("queue invalidate wait descriptor was not executed\n"); } cpu_relax(); ~Andrew