* Re: [PATCH 1/3] add flag IRQF_NO_SUSPEND in 'struct irqaction'
[not found] <1247834204-3084-1-git-send-email-guanqun.lu@intel.com>
@ 2009-07-17 1:52 ` Rafael J. Wysocki
2009-07-17 2:16 ` Lu, Guanqun
2009-07-17 14:17 ` Thomas Gleixner
0 siblings, 2 replies; 5+ messages in thread
From: Rafael J. Wysocki @ 2009-07-17 1:52 UTC (permalink / raw)
To: Guanqun Lu; +Cc: linux-kernel, mingo, jeremy
On Friday 17 July 2009, Guanqun Lu wrote:
> We currently only bypass IRQF_TIMER in '__disable_irq',
> but Xen specific IRQs should not be disabled either.
> This commit adds a new flag to accompolish this goal
> without being mixed up with IRQF_TIMER flag.
For some obscure reasons [2/3] didn't reach my inbox. The other 2 patches
look fine to me.
Best,
Rafael
> Signed-off-by: Guanqun Lu <guanqun.lu@intel.com>
> ---
> include/linux/interrupt.h | 1 +
> kernel/irq/manage.c | 3 ++-
> 2 files changed, 3 insertions(+), 1 deletions(-)
>
> diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
> index 2721f07..99264c3 100644
> --- a/include/linux/interrupt.h
> +++ b/include/linux/interrupt.h
> @@ -58,6 +58,7 @@
> #define IRQF_PERCPU 0x00000400
> #define IRQF_NOBALANCING 0x00000800
> #define IRQF_IRQPOLL 0x00001000
> +#define IRQF_NO_SUSPEND 0x00002000
>
> /*
> * Bits used by threaded handlers:
> diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
> index 50da676..3dc4e74 100644
> --- a/kernel/irq/manage.c
> +++ b/kernel/irq/manage.c
> @@ -192,7 +192,8 @@ static inline int setup_affinity(unsigned int irq, struct irq_desc *desc)
> void __disable_irq(struct irq_desc *desc, unsigned int irq, bool suspend)
> {
> if (suspend) {
> - if (!desc->action || (desc->action->flags & IRQF_TIMER))
> + if (!desc->action ||
> + (desc->action->flags & (IRQF_TIMER | IRQF_NO_SUSPEND)))
> return;
> desc->status |= IRQ_SUSPENDED;
> }
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: [PATCH 1/3] add flag IRQF_NO_SUSPEND in 'struct irqaction'
2009-07-17 1:52 ` [PATCH 1/3] add flag IRQF_NO_SUSPEND in 'struct irqaction' Rafael J. Wysocki
@ 2009-07-17 2:16 ` Lu, Guanqun
2009-07-17 2:41 ` Rafael J. Wysocki
2009-07-17 14:17 ` Thomas Gleixner
1 sibling, 1 reply; 5+ messages in thread
From: Lu, Guanqun @ 2009-07-17 2:16 UTC (permalink / raw)
To: Rafael J. Wysocki; +Cc: linux-kernel, mingo, jeremy
[-- Attachment #1: Type: text/plain, Size: 2012 bytes --]
>-----Original Message-----
>From: Rafael J. Wysocki [mailto:rjw@sisk.pl]
>Sent: Friday, July 17, 2009 9:52 AM
>To: Lu, Guanqun
>Cc: linux-kernel@vger.kernel.org; mingo@elte.hu; jeremy@goop.org
>Subject: Re: [PATCH 1/3] add flag IRQF_NO_SUSPEND in 'struct irqaction'
>
>On Friday 17 July 2009, Guanqun Lu wrote:
>> We currently only bypass IRQF_TIMER in '__disable_irq',
>> but Xen specific IRQs should not be disabled either.
>> This commit adds a new flag to accompolish this goal
>> without being mixed up with IRQF_TIMER flag.
>
>For some obscure reasons [2/3] didn't reach my inbox. The other 2 patches
>look fine to me.
I'm sending patch [2/3] via attachment in case it's lost accidentally by git-send-email again.
Sorry for the inconvenience it may cause.
Guanqun
>
>Best,
>Rafael
>
>
>> Signed-off-by: Guanqun Lu <guanqun.lu@intel.com>
>> ---
>> include/linux/interrupt.h | 1 +
>> kernel/irq/manage.c | 3 ++-
>> 2 files changed, 3 insertions(+), 1 deletions(-)
>>
>> diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
>> index 2721f07..99264c3 100644
>> --- a/include/linux/interrupt.h
>> +++ b/include/linux/interrupt.h
>> @@ -58,6 +58,7 @@
>> #define IRQF_PERCPU 0x00000400
>> #define IRQF_NOBALANCING 0x00000800
>> #define IRQF_IRQPOLL 0x00001000
>> +#define IRQF_NO_SUSPEND 0x00002000
>>
>> /*
>> * Bits used by threaded handlers:
>> diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
>> index 50da676..3dc4e74 100644
>> --- a/kernel/irq/manage.c
>> +++ b/kernel/irq/manage.c
>> @@ -192,7 +192,8 @@ static inline int setup_affinity(unsigned int irq, struct irq_desc
>*desc)
>> void __disable_irq(struct irq_desc *desc, unsigned int irq, bool suspend)
>> {
>> if (suspend) {
>> - if (!desc->action || (desc->action->flags & IRQF_TIMER))
>> + if (!desc->action ||
>> + (desc->action->flags & (IRQF_TIMER | IRQF_NO_SUSPEND)))
>> return;
>> desc->status |= IRQ_SUSPENDED;
>> }
[-- Attachment #2: 0002-add-IRQF_NO_SUSPEND-for-bind_ipi_to_irqhandler.patch --]
[-- Type: application/octet-stream, Size: 882 bytes --]
From fcd8a32c16d509270ef90069b92dadc506ce49ea Mon Sep 17 00:00:00 2001
From: Guanqun Lu <guanqun.lu@intel.com>
Date: Tue, 14 Jul 2009 05:15:12 -0400
Subject: [PATCH 2/3] add IRQF_NO_SUSPEND for 'bind_ipi_to_irqhandler'
This function exports the ipi functionality to kernel,
and the corresponding irq should not be disabled during
host S3 suspend.
Signed-off-by: Guanqun Lu <guanqun.lu@intel.com>
---
drivers/xen/events.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/xen/events.c b/drivers/xen/events.c
index abad71b..f0647bd 100644
--- a/drivers/xen/events.c
+++ b/drivers/xen/events.c
@@ -532,6 +532,7 @@ int bind_ipi_to_irqhandler(enum ipi_vector ipi,
if (irq < 0)
return irq;
+ irqflags |= IRQF_NO_SUSPEND;
retval = request_irq(irq, handler, irqflags, devname, dev_id);
if (retval != 0) {
unbind_from_irq(irq);
--
1.6.1.rc3
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/3] add flag IRQF_NO_SUSPEND in 'struct irqaction'
2009-07-17 2:16 ` Lu, Guanqun
@ 2009-07-17 2:41 ` Rafael J. Wysocki
0 siblings, 0 replies; 5+ messages in thread
From: Rafael J. Wysocki @ 2009-07-17 2:41 UTC (permalink / raw)
To: Lu, Guanqun; +Cc: linux-kernel, mingo, jeremy
On Friday 17 July 2009, Lu, Guanqun wrote:
> >-----Original Message-----
> >From: Rafael J. Wysocki [mailto:rjw@sisk.pl]
> >Sent: Friday, July 17, 2009 9:52 AM
> >To: Lu, Guanqun
> >Cc: linux-kernel@vger.kernel.org; mingo@elte.hu; jeremy@goop.org
> >Subject: Re: [PATCH 1/3] add flag IRQF_NO_SUSPEND in 'struct irqaction'
> >
> >On Friday 17 July 2009, Guanqun Lu wrote:
> >> We currently only bypass IRQF_TIMER in '__disable_irq',
> >> but Xen specific IRQs should not be disabled either.
> >> This commit adds a new flag to accompolish this goal
> >> without being mixed up with IRQF_TIMER flag.
> >
> >For some obscure reasons [2/3] didn't reach my inbox. The other 2 patches
> >look fine to me.
>
> I'm sending patch [2/3] via attachment in case it's lost accidentally by git-send-email again.
> Sorry for the inconvenience it may cause.
Thanks, patch looks OK to me.
Best,
Rafael
> >> Signed-off-by: Guanqun Lu <guanqun.lu@intel.com>
> >> ---
> >> include/linux/interrupt.h | 1 +
> >> kernel/irq/manage.c | 3 ++-
> >> 2 files changed, 3 insertions(+), 1 deletions(-)
> >>
> >> diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
> >> index 2721f07..99264c3 100644
> >> --- a/include/linux/interrupt.h
> >> +++ b/include/linux/interrupt.h
> >> @@ -58,6 +58,7 @@
> >> #define IRQF_PERCPU 0x00000400
> >> #define IRQF_NOBALANCING 0x00000800
> >> #define IRQF_IRQPOLL 0x00001000
> >> +#define IRQF_NO_SUSPEND 0x00002000
> >>
> >> /*
> >> * Bits used by threaded handlers:
> >> diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
> >> index 50da676..3dc4e74 100644
> >> --- a/kernel/irq/manage.c
> >> +++ b/kernel/irq/manage.c
> >> @@ -192,7 +192,8 @@ static inline int setup_affinity(unsigned int irq, struct irq_desc
> >*desc)
> >> void __disable_irq(struct irq_desc *desc, unsigned int irq, bool suspend)
> >> {
> >> if (suspend) {
> >> - if (!desc->action || (desc->action->flags & IRQF_TIMER))
> >> + if (!desc->action ||
> >> + (desc->action->flags & (IRQF_TIMER | IRQF_NO_SUSPEND)))
> >> return;
> >> desc->status |= IRQ_SUSPENDED;
> >> }
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/3] add flag IRQF_NO_SUSPEND in 'struct irqaction'
2009-07-17 1:52 ` [PATCH 1/3] add flag IRQF_NO_SUSPEND in 'struct irqaction' Rafael J. Wysocki
2009-07-17 2:16 ` Lu, Guanqun
@ 2009-07-17 14:17 ` Thomas Gleixner
2009-07-20 2:55 ` Lu, Guanqun
1 sibling, 1 reply; 5+ messages in thread
From: Thomas Gleixner @ 2009-07-17 14:17 UTC (permalink / raw)
To: Rafael J. Wysocki; +Cc: Guanqun Lu, linux-kernel, mingo, jeremy
On Fri, 17 Jul 2009, Rafael J. Wysocki wrote:
> On Friday 17 July 2009, Guanqun Lu wrote:
> > We currently only bypass IRQF_TIMER in '__disable_irq',
> > but Xen specific IRQs should not be disabled either.
> > This commit adds a new flag to accompolish this goal
> > without being mixed up with IRQF_TIMER flag.
>
> For some obscure reasons [2/3] didn't reach my inbox. The other 2 patches
> look fine to me.
I do not receive the patches at all. Can you please resend and cc me ?
Thanks,
tglx
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: [PATCH 1/3] add flag IRQF_NO_SUSPEND in 'struct irqaction'
2009-07-17 14:17 ` Thomas Gleixner
@ 2009-07-20 2:55 ` Lu, Guanqun
0 siblings, 0 replies; 5+ messages in thread
From: Lu, Guanqun @ 2009-07-20 2:55 UTC (permalink / raw)
To: Thomas Gleixner, Rafael J. Wysocki; +Cc: linux-kernel, mingo, jeremy
>-----Original Message-----
>From: Thomas Gleixner [mailto:tglx@linutronix.de]
>Sent: Friday, July 17, 2009 10:18 PM
>To: Rafael J. Wysocki
>Cc: Lu, Guanqun; linux-kernel@vger.kernel.org; mingo@elte.hu; jeremy@goop.org
>Subject: Re: [PATCH 1/3] add flag IRQF_NO_SUSPEND in 'struct irqaction'
>
>On Fri, 17 Jul 2009, Rafael J. Wysocki wrote:
>
>> On Friday 17 July 2009, Guanqun Lu wrote:
>> > We currently only bypass IRQF_TIMER in '__disable_irq',
>> > but Xen specific IRQs should not be disabled either.
>> > This commit adds a new flag to accompolish this goal
>> > without being mixed up with IRQF_TIMER flag.
>>
>> For some obscure reasons [2/3] didn't reach my inbox. The other 2 patches
>> look fine to me.
>
>I do not receive the patches at all. Can you please resend and cc me ?
Resent now, let me know it doesn't get to your inbox again.
Guanqun
>
>Thanks,
>
> tglx
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2009-07-20 2:56 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <1247834204-3084-1-git-send-email-guanqun.lu@intel.com>
2009-07-17 1:52 ` [PATCH 1/3] add flag IRQF_NO_SUSPEND in 'struct irqaction' Rafael J. Wysocki
2009-07-17 2:16 ` Lu, Guanqun
2009-07-17 2:41 ` Rafael J. Wysocki
2009-07-17 14:17 ` Thomas Gleixner
2009-07-20 2:55 ` Lu, Guanqun
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®