>-----Original Message-----
>From: Jeremy Fitzhardinge [mailto:jeremy@xxxxxxxx]
>Sent: Wednesday, July 15, 2009 4:01 AM
>To: Yu, Ke
>Cc: xen-devel@xxxxxxxxxxxxxxxxxxx; Lu, Guanqun
>Subject: Re: [Xen-devel] [PATCH 1/3] add flag IRQF_NO_SUSPEND in 'struct
>irqaction'
>
>On 07/13/09 01:46, Yu, Ke wrote:
>> Hi Jeremy,
>>
>> Forget to mention, this series of patches are targeting for pv_ops dom0
>host S3.
>>
>> We have tried the host S3 branch (xen-tip/dom0/acpi) and find host S3 will
>hang at disable_nonboot_cpus. the root cause is that suspend_device_irqs ()
>unfortunately will disable the irq of XEN_CALL_FUNCTION_SINGLE_VECTOR
>IPI and xen_timer_interrupt VIRQ, which however are required by
>disable_nonboot_cpus. To fix this issue, flag IRQF_NO_SUSPEND is added to
>Xen IPI and IRQF_TIMER is added to xen_timer_interrupt VIRQ, to notify
>suspend_device_irqs not to disable these irqs when suspend.
>>
>> After applying this series of patches to xen-tip/dom0/acpi branch, and
>rebasing xen-tip/dom0/acpi to xen-tip/master, the pv_ops dom0 host S3 is
>working in our side.
>>
>
>Thanks for debugging that. Could you send me a patch? Is the
>IRQF_NO_SUSPEND flag something you've had to add?
>
>Thanks,
>
> J
The three patches Guanqun posted has all the fixes I mentioned. I just add some
background here for better understanding :)
For the flag IRQF_NO_SUSPEND, indeed, we can use IRQF_TIMER to achieve the same
functionality, but this does not match the semantic of IRQF_TIMER, since it is
used for timer, while xen IPI obviously is not. There is similar discussion in
LKML thread http://marc.info/?l=linux-kernel&m=123561730928222&w=2 where Ingo
suggested to add new flag IRQF_NO_SUSPEND instead of using the existing
IRQF_TIMER. Although the IRQF_NO_SUSPEND is not added finally due to that issue
is fixed in another way. This thread implies IRQF_NO_SUSPEND is more clean in
this case.
Best Regards
Ke
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|