[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-devel] [PATCH][PV_OPS_DOM0]Fix the host S3 resume hang


  • To: Jan Beulich <JBeulich@xxxxxxxxxx>
  • From: "Wei, Gang" <gang.wei@xxxxxxxxx>
  • Date: Thu, 3 Sep 2009 18:31:31 +0800
  • Accept-language: en-US
  • Acceptlanguage: en-US
  • Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Thu, 03 Sep 2009 03:33:14 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcosfmdD+D9hmyZCS/a35Dsvvt9/aQAAuczg
  • Thread-topic: [Xen-devel] [PATCH][PV_OPS_DOM0]Fix the host S3 resume hang

Jan Beulich wrote:
> Instead of doing the check twice in the suspend and resume
> handlers, why
> don't you just suppress registration of the sysdev(s) in
> ioapic_init_sysfs()? 

Good idea. Here is it.

Fix the host S3 resume hang

Current pv-ops dom0 is doing ioapic suspend/resume while doing host S3. The
ioapic resume will cause a guest_write_ioapic error and hang the S3 resume
process. It is actually not necessary for dom0 to do ioapic suspend/resume
because hypervisor already cover this.

Signed-off-by: Wei Gang <gang.wei@xxxxxxxxx>

diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index 18d957e..77151ce 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -3162,6 +3162,9 @@ static int __init ioapic_init_sysfs(void)
        struct sys_device * dev;
        int i, size, error;
 
+       if (xen_initial_domain())
+               return 0;
+
        error = sysdev_class_register(&ioapic_sysdev_class);
        if (error)
                return error;

Attachment: no-ioapic-resume.patch
Description: no-ioapic-resume.patch

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.