This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


RE: [Xen-devel] [PATCH 1/3] add flag IRQF_NO_SUSPEND in 'struct irqactio

To: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
Subject: RE: [Xen-devel] [PATCH 1/3] add flag IRQF_NO_SUSPEND in 'struct irqaction'
From: "Yu, Ke" <ke.yu@xxxxxxxxx>
Date: Wed, 15 Jul 2009 10:10:09 +0800
Accept-language: en-US
Acceptlanguage: en-US
Cc: "Lu, Guanqun" <guanqun.lu@xxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Tue, 14 Jul 2009 19:11:38 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4A5CE414.3080405@xxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <1247564671-3090-1-git-send-email-guanqun.lu@xxxxxxxxx> <4D05DB80B95B23498C72C700BD6C2E0B2FAA1CB9@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <4A5CE414.3080405@xxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcoEveAzZpDvdnyNT42IQcEHWf2NtAAL47BA
Thread-topic: [Xen-devel] [PATCH 1/3] add flag IRQF_NO_SUSPEND in 'struct irqaction'
>-----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
>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?
>    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

Xen-devel mailing list