mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* 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®