All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: "Ingo Molnar" <mingo@elte.hu>,
	"pm list" <linux-pm@lists.linux-foundation.org>,
	LKML <linux-kernel@vger.kernel.org>,
	"Linus Torvalds" <torvalds@linux-foundation.org>,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	"Benjamin Herrenschmidt" <benh@kernel.crashing.org>,
	"Jeremy Fitzhardinge" <jeremy@goop.org>,
	"Len Brown" <lenb@kernel.org>,
	"Jesse Barnes" <jbarnes@virtuousgeek.org>,
	"Frans Pop" <elendil@planet.nl>,
	"Arve Hjønnevåg" <arve@android.com>
Subject: Re: [PATCH 1/10] PM: Rework handling of interrupts during suspend-resume (rev. 5)
Date: Thu, 12 Mar 2009 14:36:20 +0100	[thread overview]
Message-ID: <200903121436.21504.rjw@sisk.pl> (raw)
In-Reply-To: <alpine.LFD.2.00.0903112342440.29264@localhost.localdomain>

On Wednesday 11 March 2009, Thomas Gleixner wrote:
> On Wed, 11 Mar 2009, Thomas Gleixner wrote:
> > On Wed, 11 Mar 2009, Rafael J. Wysocki wrote:
> > > On Wednesday 11 March 2009, Thomas Gleixner wrote:
> > > > > +EXPORT_SYMBOL_GPL(suspend_device_irqs);
> > > > 
> > > >   I'm not too enthusiastic about this open coded implementation of
> > > >   disable_irq() with slightly different semantics.
> > > 
> > > The difference in semantics is important IMO, otherwise I woulndn't have
> > > done that.  In particular, IMO, the condition should be under the spinlock IMO
> > > and I'd rather not synchronize all interrupts we don't really disable here.
> > 
> > I don't say that the difference is not relevant. But the code is
> > almost the same and disable_irq() could have the sync_irq optimization
> > as well.
> 
> Thought more about that. Avoiding the sync_irq() for irqs which have
> no action associated is fine, but you need to catch the following case
> as well:
> 
>    driver code calls disable_irq_nosyc() from the handler (which is
>    still running)
> 
>    suspend code skips the sync due to depth > 0
> 
> The sync operation is not that expensive.

OK, what about this (untested, irrelevant parts skipped)?

Index: linux-2.6/kernel/irq/pm.c
===================================================================
--- /dev/null
+++ linux-2.6/kernel/irq/pm.c
@@ -0,0 +1,79 @@
+/*
+ * linux/kernel/irq/pm.c
+ *
+ * Copyright (C) 2009 Rafael J. Wysocki <rjw@sisk.pl>, Novell Inc.
+ *
+ * This file contains power management functions related to interrupts.
+ */
+
+#include <linux/irq.h>
+#include <linux/module.h>
+#include <linux/interrupt.h>
+
+#include "internals.h"
+
+/**
+ * suspend_device_irqs - disable all currently enabled interrupt lines
+ *
+ * During system-wide suspend or hibernation device interrupts need to be
+ * disabled at the chip level and this function is provided for this purpose.
+ * It disables all interrupt lines that are enabled at the moment and sets the
+ * IRQ_SUSPENDED flag for them.
+ */
+void suspend_device_irqs(void)
+{
+	struct irq_desc *desc;
+	int irq;
+
+	for_each_irq_desc(irq, desc) {
+		unsigned long flags;
+
+		spin_lock_irqsave(&desc->lock, flags);
+		__disable_irq(desc, irq, true);
+		spin_unlock_irqrestore(&desc->lock, flags);
+	}
+
+	for_each_irq_desc(irq, desc)
+		if (desc->status & IRQ_SUSPENDED)
+			synchronize_irq(irq);
+}
+EXPORT_SYMBOL_GPL(suspend_device_irqs);
+
+/**
+ * resume_device_irqs - enable interrupt lines disabled by suspend_device_irqs()
+ *
+ * Enable all interrupt lines previously disabled by suspend_device_irqs() that
+ * have the IRQ_SUSPENDED flag set.
+ */
+void resume_device_irqs(void)
+{
+	struct irq_desc *desc;
+	int irq;
+
+	for_each_irq_desc(irq, desc) {
+		unsigned long flags;
+
+		if (!(desc->status & IRQ_SUSPENDED))
+			continue;
+
+		spin_lock_irqsave(&desc->lock, flags);
+		__enable_irq(desc, irq, true);
+		spin_unlock_irqrestore(&desc->lock, flags);
+	}
+}
+EXPORT_SYMBOL_GPL(resume_device_irqs);
+
+/**
+ * check_wakeup_irqs - check if any wake-up interrupts are pending
+ */
+int check_wakeup_irqs(void)
+{
+	struct irq_desc *desc;
+	int irq;
+
+	for_each_irq_desc(irq, desc)
+		if ((desc->status & IRQ_WAKEUP) && (desc->status & IRQ_PENDING))
+			return -EBUSY;
+
+	return 0;
+}
Index: linux-2.6/kernel/irq/Makefile
===================================================================
--- linux-2.6.orig/kernel/irq/Makefile
+++ linux-2.6/kernel/irq/Makefile
@@ -4,3 +4,4 @@ obj-$(CONFIG_GENERIC_IRQ_PROBE) += autop
 obj-$(CONFIG_PROC_FS) += proc.o
 obj-$(CONFIG_GENERIC_PENDING_IRQ) += migration.o
 obj-$(CONFIG_NUMA_MIGRATE_IRQ_DESC) += numa_migrate.o
+obj-$(CONFIG_PM_SLEEP) += pm.o
Index: linux-2.6/kernel/irq/manage.c
===================================================================
--- linux-2.6.orig/kernel/irq/manage.c
+++ linux-2.6/kernel/irq/manage.c
@@ -162,6 +162,20 @@ static inline int do_irq_select_affinity
 }
 #endif
 
+void __disable_irq(struct irq_desc *desc, unsigned int irq, bool suspend)
+{
+	if (suspend) {
+		if (desc->action && (desc->action->flags & IRQF_TIMER))
+			return;
+		desc->status |= IRQ_SUSPENDED;
+	}
+
+	if (!desc->depth++) {
+		desc->status |= IRQ_DISABLED;
+		desc->chip->disable(irq);
+	}
+}
+
 /**
  *	disable_irq_nosync - disable an irq without waiting
  *	@irq: Interrupt to disable
@@ -182,10 +196,7 @@ void disable_irq_nosync(unsigned int irq
 		return;
 
 	spin_lock_irqsave(&desc->lock, flags);
-	if (!desc->depth++) {
-		desc->status |= IRQ_DISABLED;
-		desc->chip->disable(irq);
-	}
+	__disable_irq(desc, irq, false);
 	spin_unlock_irqrestore(&desc->lock, flags);
 }
 EXPORT_SYMBOL(disable_irq_nosync);
@@ -215,15 +226,19 @@ void disable_irq(unsigned int irq)
 }
 EXPORT_SYMBOL(disable_irq);
 
-static void __enable_irq(struct irq_desc *desc, unsigned int irq)
+void __enable_irq(struct irq_desc *desc, unsigned int irq, bool resume)
 {
+	if (resume)
+		desc->status &= ~IRQ_SUSPENDED;
+
 	switch (desc->depth) {
 	case 0:
-		WARN(1, KERN_WARNING "Unbalanced enable for IRQ %d\n", irq);
-		break;
+		goto err_out;
 	case 1: {
 		unsigned int status = desc->status & ~IRQ_DISABLED;
 
+		if (desc->status & IRQ_SUSPENDED)
+			goto err_out;
 		/* Prevent probing on this irq: */
 		desc->status = status | IRQ_NOPROBE;
 		check_irq_resend(desc, irq);
@@ -232,6 +247,11 @@ static void __enable_irq(struct irq_desc
 	default:
 		desc->depth--;
 	}
+
+	return;
+
+ err_out:
+	WARN(true, KERN_WARNING "Unbalanced enable for IRQ %d\n", irq);
 }
 
 /**
@@ -253,7 +273,7 @@ void enable_irq(unsigned int irq)
 		return;
 
 	spin_lock_irqsave(&desc->lock, flags);
-	__enable_irq(desc, irq);
+	__enable_irq(desc, irq, false);
 	spin_unlock_irqrestore(&desc->lock, flags);
 }
 EXPORT_SYMBOL(enable_irq);
@@ -511,7 +531,7 @@ __setup_irq(unsigned int irq, struct irq
 	 */
 	if (shared && (desc->status & IRQ_SPURIOUS_DISABLED)) {
 		desc->status &= ~IRQ_SPURIOUS_DISABLED;
-		__enable_irq(desc, irq);
+		__enable_irq(desc, irq, false);
 	}
 
 	spin_unlock_irqrestore(&desc->lock, flags);
Index: linux-2.6/kernel/irq/internals.h
===================================================================
--- linux-2.6.orig/kernel/irq/internals.h
+++ linux-2.6/kernel/irq/internals.h
@@ -12,6 +12,8 @@ extern void compat_irq_chip_set_default_
 
 extern int __irq_set_trigger(struct irq_desc *desc, unsigned int irq,
 		unsigned long flags);
+extern void __disable_irq(struct irq_desc *desc, unsigned int irq, bool susp);
+extern void __enable_irq(struct irq_desc *desc, unsigned int irq, bool resume);
 
 extern struct lock_class_key irq_desc_lock_class;
 extern void init_kstat_irqs(struct irq_desc *desc, int cpu, int nr);

Thanks,
Rafael

  reply	other threads:[~2009-03-12 13:36 UTC|newest]

Thread overview: 373+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-22 17:37 [RFC][PATCH 0/2] Rework disabling of interrupts during suspend-resume Rafael J. Wysocki
2009-02-22 17:37 ` Rafael J. Wysocki
2009-02-22 17:38 ` [RFC][PATCH 1/2] PM: Split up sysdev_[suspend|resume] from device_power_[down|up] Rafael J. Wysocki
2009-02-22 17:38 ` Rafael J. Wysocki
2009-02-22 20:56   ` Adrian Bunk
2009-02-22 21:07     ` Linus Torvalds
2009-02-22 21:07       ` Linus Torvalds
2009-02-22 21:12       ` Ingo Molnar
2009-02-22 21:12         ` Ingo Molnar
2009-02-22 22:42       ` Adrian Bunk
2009-02-22 22:42       ` Adrian Bunk
2009-02-22 20:56   ` Adrian Bunk
2009-03-05 16:54   ` Pavel Machek
2009-03-05 16:54   ` Pavel Machek
2009-02-22 17:39 ` [RFC][PATCH 2/2] PM: Rework handling of interrupts during suspend-resume Rafael J. Wysocki
2009-02-22 18:01   ` Linus Torvalds
2009-02-22 22:42     ` Rafael J. Wysocki
2009-02-22 23:48       ` Rafael J. Wysocki
2009-02-23  0:05         ` Linus Torvalds
2009-02-23  0:05         ` Linus Torvalds
2009-02-23  1:23           ` Linus Torvalds
2009-02-23  1:23             ` Linus Torvalds
2009-02-23 10:52             ` Rafael J. Wysocki
2009-02-23  3:04         ` Eric W. Biederman
2009-02-23  8:44           ` Ingo Molnar
2009-02-23  8:44           ` Ingo Molnar
2009-02-23  9:22             ` Eric W. Biederman
2009-02-23  9:22             ` Eric W. Biederman
2009-02-23  9:44               ` Ingo Molnar
2009-02-23 10:42                 ` Eric W. Biederman
2009-02-23 11:03                   ` Rafael J. Wysocki
2009-02-23 15:28                     ` Eric W. Biederman
2009-02-23 15:28                     ` Eric W. Biederman
2009-02-23 21:39                       ` Rafael J. Wysocki
2009-02-23 21:39                       ` Rafael J. Wysocki
2009-02-24  3:30                         ` Eric W. Biederman
2009-02-24 22:42                           ` Rafael J. Wysocki
2009-02-24 22:51                             ` Linus Torvalds
2009-02-24 22:51                             ` Linus Torvalds
2009-02-24 23:07                               ` Rafael J. Wysocki
2009-02-24 23:09                                 ` Ingo Molnar
2009-02-24 23:29                                   ` Rafael J. Wysocki
2009-02-24 23:29                                   ` Rafael J. Wysocki
2009-02-25 13:23                                     ` Ingo Molnar
2009-02-25 13:23                                     ` Ingo Molnar
2009-02-26  1:17                                     ` Arve Hjønnevåg
2009-02-26  1:27                                       ` Linus Torvalds
2009-02-26  1:27                                       ` Linus Torvalds
2009-02-26  2:13                                         ` Arve Hjønnevåg
2009-02-26  2:51                                           ` Linus Torvalds
2009-02-26  3:00                                             ` Ingo Molnar
2009-02-26  3:00                                             ` Ingo Molnar
2009-02-26  3:31                                               ` Arve Hjønnevåg
2009-02-26  3:31                                               ` Arve Hjønnevåg
2009-02-26  3:37                                                 ` Linus Torvalds
2009-02-26  3:37                                                   ` Linus Torvalds
2009-02-26  3:50                                                   ` Arve Hjønnevåg
2009-02-26  3:50                                                   ` Arve Hjønnevåg
2009-02-26  3:57                                                     ` Linus Torvalds
2009-02-26  3:57                                                     ` Linus Torvalds
2009-02-26  4:13                                                       ` Arve Hjønnevåg
2009-02-26  4:13                                                       ` Arve Hjønnevåg
2009-02-26  4:20                                                         ` Eric W. Biederman
2009-02-26  4:20                                                         ` Eric W. Biederman
2009-02-26  4:24                                                           ` Arve Hjønnevåg
2009-02-26  4:24                                                           ` Arve Hjønnevåg
2009-02-26  2:51                                           ` Linus Torvalds
2009-02-26  2:13                                         ` Arve Hjønnevåg
2009-02-26  9:50                                       ` Rafael J. Wysocki
2009-02-26 20:34                                         ` Arve Hjønnevåg
2009-02-26 20:57                                           ` Benjamin Herrenschmidt
2009-02-26 20:57                                             ` Benjamin Herrenschmidt
2009-02-26 21:20                                             ` Arve Hjønnevåg
2009-02-26 21:49                                               ` Benjamin Herrenschmidt
2009-02-26 21:49                                               ` Benjamin Herrenschmidt
2009-02-26 21:20                                             ` Arve Hjønnevåg
2009-02-26 21:58                                           ` Rafael J. Wysocki
2009-02-26 22:10                                             ` Linus Torvalds
2009-02-26 22:10                                             ` Linus Torvalds
2009-02-26 22:30                                               ` Arve Hjønnevåg
2009-02-26 22:30                                               ` Arve Hjønnevåg
2009-02-26 23:10                                                 ` Rafael J. Wysocki
2009-02-26 23:10                                                 ` Rafael J. Wysocki
2009-02-27  0:00                                                   ` Arve Hjønnevåg
2009-02-27  0:27                                                     ` Linus Torvalds
2009-02-27  3:20                                                       ` [linux-pm] " Alan Stern
2009-02-27  4:43                                                         ` Linus Torvalds
2009-02-27  4:43                                                           ` Linus Torvalds
2009-02-27 14:59                                                           ` [linux-pm] " Alan Stern
2009-02-27 20:30                                                             ` Linus Torvalds
2009-02-27 20:30                                                             ` [linux-pm] " Linus Torvalds
2009-02-28  3:54                                                               ` Arve Hjønnevåg
2009-02-28  3:54                                                               ` [linux-pm] " Arve Hjønnevåg
2009-02-28 10:06                                                                 ` Rafael J. Wysocki
2009-02-28 10:06                                                                 ` [linux-pm] " Rafael J. Wysocki
2009-02-28 17:03                                                                   ` Linus Torvalds
2009-02-28 17:03                                                                     ` Linus Torvalds
2009-02-28 22:15                                                                   ` [linux-pm] " Arve Hjønnevåg
2009-02-28 22:15                                                                   ` Arve Hjønnevåg
2009-02-27 14:59                                                           ` Alan Stern
2009-02-27  3:20                                                       ` Alan Stern
2009-02-27  0:27                                                     ` Linus Torvalds
2009-02-27  0:00                                                   ` Arve Hjønnevåg
2009-02-26 22:30                                               ` Rafael J. Wysocki
2009-02-26 22:30                                               ` Rafael J. Wysocki
2009-02-26 21:58                                           ` Rafael J. Wysocki
2009-02-26 20:34                                         ` Arve Hjønnevåg
2009-02-26  9:50                                       ` Rafael J. Wysocki
2009-02-26  1:17                                     ` Arve Hjønnevåg
2009-02-24 23:09                                 ` Ingo Molnar
2009-02-24 23:07                               ` Rafael J. Wysocki
2009-02-25  4:16                               ` Eric W. Biederman
2009-02-25  4:26                                 ` Linus Torvalds
2009-02-25  4:26                                   ` Linus Torvalds
2009-02-25  4:59                                   ` Eric W. Biederman
2009-02-25  4:59                                   ` Eric W. Biederman
2009-02-25  4:16                               ` Eric W. Biederman
2009-02-25 15:32                             ` Alan Stern
2009-02-25 15:32                             ` [linux-pm] " Alan Stern
2009-02-25 16:19                               ` Linus Torvalds
2009-02-25 16:19                                 ` Linus Torvalds
2009-02-24 22:42                           ` Rafael J. Wysocki
2009-02-24  3:30                         ` Eric W. Biederman
2009-02-23 11:03                   ` Rafael J. Wysocki
2009-02-23 11:04                   ` Ingo Molnar
2009-02-23 14:45                     ` Rafael J. Wysocki
2009-02-23 15:06                       ` Ingo Molnar
2009-02-23 15:06                         ` Ingo Molnar
2009-02-23 21:59                         ` Rafael J. Wysocki
2009-02-23 21:59                           ` Rafael J. Wysocki
2009-02-23 14:45                     ` Rafael J. Wysocki
2009-02-23 11:04                   ` Ingo Molnar
2009-02-23 10:42                 ` Eric W. Biederman
2009-02-23  9:44               ` Ingo Molnar
2009-02-23 10:13               ` Benjamin Herrenschmidt
2009-02-23 10:13               ` Benjamin Herrenschmidt
2009-02-23  3:04         ` Eric W. Biederman
2009-02-23  8:36         ` Ingo Molnar
2009-02-23  8:36         ` Ingo Molnar
2009-02-23 11:29           ` Rafael J. Wysocki
2009-02-23 12:28             ` Ingo Molnar
2009-02-23 14:48               ` Rafael J. Wysocki
2009-02-23 14:48                 ` Rafael J. Wysocki
2009-02-23 20:49               ` Benjamin Herrenschmidt
2009-02-23 20:49               ` Benjamin Herrenschmidt
2009-02-23 12:28             ` Ingo Molnar
2009-02-23 12:45             ` Ingo Molnar
2009-02-23 15:07               ` Rafael J. Wysocki
2009-02-23 15:07               ` Rafael J. Wysocki
2009-02-23 12:45             ` Ingo Molnar
2009-02-23 15:52             ` Johannes Berg
2009-02-23 15:52             ` Johannes Berg
2009-02-23 17:16             ` Ingo Molnar
2009-02-23 17:16             ` Ingo Molnar
2009-02-23 17:28               ` Linus Torvalds
2009-02-23 17:28                 ` Linus Torvalds
2009-02-23 22:11                 ` Rafael J. Wysocki
2009-02-23 22:11                 ` Rafael J. Wysocki
2009-02-23 11:29           ` Rafael J. Wysocki
2009-02-22 23:48       ` Rafael J. Wysocki
2009-02-22 22:42     ` Rafael J. Wysocki
2009-02-22 18:01   ` Linus Torvalds
2009-02-23 22:11   ` Arve Hjønnevåg
2009-02-23 22:11   ` Arve Hjønnevåg
2009-02-23 22:23     ` Rafael J. Wysocki
2009-02-23 22:23       ` Rafael J. Wysocki
2009-02-23 22:44       ` Arve Hjønnevåg
2009-02-23 22:44       ` Arve Hjønnevåg
2009-02-22 17:39 ` Rafael J. Wysocki
2009-02-22 18:13 ` [RFC][PATCH 0/2] Rework disabling " Linus Torvalds
2009-02-22 18:13   ` Linus Torvalds
2009-02-22 18:18   ` Ingo Molnar
2009-02-22 18:25     ` Linus Torvalds
2009-02-22 18:25       ` Linus Torvalds
2009-02-22 18:35       ` Linus Torvalds
2009-02-22 18:35         ` Linus Torvalds
2009-02-22 18:18   ` Ingo Molnar
2009-02-22 22:37 ` Eric W. Biederman
2009-02-22 22:37 ` Eric W. Biederman
2009-02-22 22:56   ` Benjamin Herrenschmidt
2009-02-22 22:56   ` Benjamin Herrenschmidt
2009-02-22 23:02   ` Linus Torvalds
2009-02-22 23:02     ` Linus Torvalds
2009-03-01 22:21 ` [RFC][PATCH 0/4] " Rafael J. Wysocki
2009-03-01 22:21 ` Rafael J. Wysocki
2009-03-01 22:24   ` [RFC][PATCH 1/4] PM: Rework handling of interrupts during suspend-resume (rev. 4) Rafael J. Wysocki
2009-03-02 23:01     ` Arve Hjønnevåg
2009-03-02 23:01     ` Arve Hjønnevåg
2009-03-02 23:13       ` Rafael J. Wysocki
2009-03-02 23:18         ` Arve Hjønnevåg
2009-03-02 23:18         ` Arve Hjønnevåg
2009-03-02 23:27           ` Rafael J. Wysocki
2009-03-02 23:27           ` Rafael J. Wysocki
2009-03-03 22:56             ` Arve Hjønnevåg
2009-03-04 22:03               ` [Update, rev. 5] " Rafael J. Wysocki
2009-03-05 10:35                 ` Ingo Molnar
2009-03-05 10:35                 ` Ingo Molnar
2009-03-04 22:03               ` Rafael J. Wysocki
2009-03-03 22:56             ` Arve Hjønnevåg
2009-03-02 23:32           ` Linus Torvalds
2009-03-02 23:32             ` Linus Torvalds
2009-03-02 23:35             ` Linus Torvalds
2009-03-02 23:35               ` Linus Torvalds
2009-03-03  0:08               ` Arve Hjønnevåg
2009-03-03  0:08               ` Arve Hjønnevåg
2009-03-03  8:41                 ` Arve Hjønnevåg
2009-03-03  8:41                 ` Arve Hjønnevåg
2009-03-02 23:13       ` Rafael J. Wysocki
2009-03-01 22:24   ` Rafael J. Wysocki
2009-03-01 22:25   ` [RFC][PATCH 2/4] PM: Change suspend code ordering Rafael J. Wysocki
2009-03-01 22:25   ` Rafael J. Wysocki
2009-03-02 20:48     ` Linus Torvalds
2009-03-02 20:48       ` Linus Torvalds
2009-03-02 22:02       ` Rafael J. Wysocki
2009-03-02 22:02       ` Rafael J. Wysocki
2009-03-01 22:26   ` [RFC][PATCH 3/4] PM: Change hibernation " Rafael J. Wysocki
2009-03-01 22:26   ` Rafael J. Wysocki
2009-03-01 22:27   ` [RFC][PATCH 4/4] kexec: Change kexec jump " Rafael J. Wysocki
2009-03-01 22:27   ` Rafael J. Wysocki
2009-03-05 23:44   ` [RFC][PATCH 0/4] Rework disabling of interrupts during suspend-resume Linus Torvalds
2009-03-05 23:44     ` Linus Torvalds
2009-03-06  6:47     ` Sitsofe Wheeler
2009-03-06  6:47     ` Sitsofe Wheeler
2009-03-06 10:19     ` Rafael J. Wysocki
2009-03-06 10:19     ` Rafael J. Wysocki
2009-03-07 10:19 ` [RFC][PATCH][0/8] PM: Rework suspend-resume ordering to avoid problems with shared interrupts Rafael J. Wysocki
2009-03-07 10:19 ` Rafael J. Wysocki
2009-03-07 10:20   ` [RFC][PATCH][1/8] PM: Rework handling of interrupts during suspend-resume (rev. 5) Rafael J. Wysocki
2009-03-07 10:20     ` Rafael J. Wysocki
2009-03-07 16:51     ` [linux-pm] " Alan Stern
2009-03-07 17:56       ` Rafael J. Wysocki
2009-03-07 17:56       ` [linux-pm] " Rafael J. Wysocki
2009-03-08  3:53         ` Alan Stern
2009-03-08  3:53         ` [linux-pm] " Alan Stern
2009-03-08 10:00           ` Rafael J. Wysocki
2009-03-08 10:00           ` [linux-pm] " Rafael J. Wysocki
2009-03-08 12:37             ` Alan Stern
2009-03-08 12:37             ` [linux-pm] " Alan Stern
2009-03-08 17:20           ` Linus Torvalds
2009-03-08 20:40             ` Alan Stern
2009-03-08 20:40             ` [linux-pm] " Alan Stern
2009-03-08 21:37               ` Rafael J. Wysocki
2009-03-08 21:37               ` Rafael J. Wysocki
2009-03-09 14:59               ` Linus Torvalds
2009-03-09 14:59               ` [linux-pm] " Linus Torvalds
2009-03-09 15:13                 ` Alan Stern
2009-03-09 15:40                   ` Linus Torvalds
2009-03-09 15:40                   ` [linux-pm] " Linus Torvalds
2009-03-09 15:13                 ` Alan Stern
2009-03-08 17:20           ` Linus Torvalds
2009-03-07 16:51     ` Alan Stern
2009-03-07 10:21   ` [RFC][PATCH][2/8] PM: Change suspend code ordering Rafael J. Wysocki
2009-03-07 10:21   ` Rafael J. Wysocki
2009-03-07 10:22   ` [RFC][PATCH][3/8] PM: Change hibernation " Rafael J. Wysocki
2009-03-07 10:22   ` Rafael J. Wysocki
2009-03-07 10:23   ` [RFC][PATCH][4/8] kexec: Change kexec jump " Rafael J. Wysocki
2009-03-07 10:23   ` Rafael J. Wysocki
2009-03-07 10:24   ` [RFC][PATCH][5/8] PCI PM: Consistently use variable name "error" for pm call return values Rafael J. Wysocki
2009-03-07 10:24   ` Rafael J. Wysocki
2009-03-07 10:25   ` [RFC][PATCH][6/8] PCI PM: Use pci_set_power_state during early resume Rafael J. Wysocki
2009-03-07 10:25   ` Rafael J. Wysocki
2009-03-07 10:26   ` [RFC][PATCH][7/8] PCI PM: Move pci_restore_standard_config to pci-driver.c Rafael J. Wysocki
2009-03-07 10:26   ` Rafael J. Wysocki
2009-03-07 10:27   ` [RFC][PATCH][8/8] PCI PM: Put devices into low power states during late suspend Rafael J. Wysocki
2009-03-07 10:27   ` Rafael J. Wysocki
2009-03-08 19:28   ` [RFC][PATCH][0/8] PM: Rework suspend-resume ordering to avoid problems with shared interrupts Frans Pop
2009-03-08 20:50     ` Rafael J. Wysocki
2009-03-08 20:50     ` Rafael J. Wysocki
2009-03-14  8:44       ` Frans Pop
2009-03-14 11:59         ` Rafael J. Wysocki
2009-03-14 14:11           ` Frans Pop
2009-03-14 14:11           ` Frans Pop
2009-03-14 22:31             ` Rafael J. Wysocki
2009-03-14 22:31             ` Rafael J. Wysocki
2009-03-14 11:59         ` Rafael J. Wysocki
2009-03-14  8:44       ` Frans Pop
2009-03-08 19:28   ` Frans Pop
2009-03-11  9:30 ` [PATCH 0/10] PM: Rework suspend-resume ordering to avoid problems with shared interrupts (updated) Rafael J. Wysocki
2009-03-11  9:30 ` Rafael J. Wysocki
2009-03-11  9:36   ` [PATCH 1/10] PM: Rework handling of interrupts during suspend-resume (rev. 5) Rafael J. Wysocki
2009-03-11  9:36   ` Rafael J. Wysocki
2009-03-11 10:33     ` Thomas Gleixner
2009-03-11 10:33     ` Thomas Gleixner
2009-03-11 20:59       ` Rafael J. Wysocki
2009-03-11 21:42         ` Thomas Gleixner
2009-03-11 21:42         ` Thomas Gleixner
2009-03-11 22:01           ` Rafael J. Wysocki
2009-03-11 22:01             ` Rafael J. Wysocki
2009-03-11 22:45           ` Thomas Gleixner
2009-03-12 13:36             ` Rafael J. Wysocki [this message]
2009-03-12 21:43               ` [update, rev. 6] " Rafael J. Wysocki
2009-03-12 21:43               ` Rafael J. Wysocki
2009-03-13  0:39                 ` Ingo Molnar
2009-03-13  0:39                 ` Ingo Molnar
2009-03-13 17:07                   ` Rafael J. Wysocki
2009-03-13 17:07                     ` Rafael J. Wysocki
2009-03-13  7:15                 ` Arve Hjønnevåg
2009-03-13  7:15                   ` Arve Hjønnevåg
2009-03-13 16:53                   ` Rafael J. Wysocki
2009-03-13 16:53                   ` Rafael J. Wysocki
2009-03-13 19:55                 ` Thomas Gleixner
2009-03-13 19:55                 ` Thomas Gleixner
2009-03-13 21:56                   ` Rafael J. Wysocki
2009-03-13 21:56                   ` Rafael J. Wysocki
2009-03-14  7:31                     ` Thomas Gleixner
2009-03-14  7:31                     ` Thomas Gleixner
2009-03-14 10:01                       ` Rafael J. Wysocki
2009-03-14 10:01                       ` Rafael J. Wysocki
2009-03-14  0:04                   ` Rafael J. Wysocki
2009-03-14  0:04                   ` Rafael J. Wysocki
2009-03-12 13:36             ` Rafael J. Wysocki
2009-03-11 22:45           ` Thomas Gleixner
2009-03-11 20:59       ` Rafael J. Wysocki
2009-03-11 21:15       ` Rafael J. Wysocki
2009-03-11 21:15       ` Rafael J. Wysocki
2009-03-11 21:35         ` Thomas Gleixner
2009-03-11 21:35         ` Thomas Gleixner
2009-03-11 21:50           ` Rafael J. Wysocki
2009-03-11 21:50           ` Rafael J. Wysocki
2009-03-11 21:53             ` Thomas Gleixner
2009-03-11 21:53             ` Thomas Gleixner
2009-03-11 22:01               ` Linus Torvalds
2009-03-11 22:01                 ` Linus Torvalds
2009-03-11 22:13                 ` Rafael J. Wysocki
2009-03-11 22:13                 ` Rafael J. Wysocki
2009-03-11 22:25                 ` Thomas Gleixner
2009-03-11 22:25                 ` Thomas Gleixner
2009-03-11 22:07               ` Rafael J. Wysocki
2009-03-11 22:07               ` Rafael J. Wysocki
2009-03-11  9:37   ` [PATCH 2/10] PM: Change suspend code ordering Rafael J. Wysocki
2009-03-11  9:37   ` Rafael J. Wysocki
2009-03-11  9:38   ` [PATCH 3/10] PM: Change hibernation " Rafael J. Wysocki
2009-03-11  9:38   ` Rafael J. Wysocki
2009-03-11  9:39   ` [PATCH 4/10] kexec: Change kexec jump " Rafael J. Wysocki
2009-03-11  9:39     ` Rafael J. Wysocki
2009-03-11  9:41   ` [PATCH 5/10] PCI PM: Consistently use variable name "error" for pm call return values Rafael J. Wysocki
2009-03-11  9:41   ` Rafael J. Wysocki
2009-03-11  9:42   ` [PATCH 6/10] PCI PM: Use pci_set_power_state during early resume Rafael J. Wysocki
2009-03-11  9:42   ` Rafael J. Wysocki
2009-03-11  9:47   ` [PATCH 7/10] PCI PM: Move pci_restore_standard_config to pci-driver.c Rafael J. Wysocki
2009-03-11  9:47   ` Rafael J. Wysocki
2009-03-11  9:48   ` [PATCH 8/10] PCI PM: Put devices into low power states during late suspend (rev. 2) Rafael J. Wysocki
2009-03-11  9:48   ` Rafael J. Wysocki
2009-03-11  9:55   ` [PATCH 9/10] PCI PM: Make pci_set_power_state() handle devices with no PM support Rafael J. Wysocki
2009-03-11  9:55   ` Rafael J. Wysocki
2009-03-11  9:56   ` [PATCH 10/10] PCI PM: Restore config spaces of all devices during early resume Rafael J. Wysocki
2009-03-11  9:56   ` Rafael J. Wysocki
2009-03-14 11:24 ` [PATCH 0/11] PM: Rework suspend-resume ordering to avoid problems with shared interrupts (updated 2x) Rafael J. Wysocki
2009-03-14 11:26   ` [PATCH 1/11] PM: Introduce functions for suspending and resuming device interrupts Rafael J. Wysocki
2009-03-14 11:26   ` Rafael J. Wysocki
2009-03-14 11:27   ` [PATCH 2/11] PM: Rework handling of interrupts during suspend-resume Rafael J. Wysocki
2009-03-14 11:27   ` Rafael J. Wysocki
2009-03-14 11:28   ` [PATCH 3/11] PM: Change suspend code ordering Rafael J. Wysocki
2009-03-14 11:28   ` Rafael J. Wysocki
2009-03-14 11:28   ` [PATCH 4/11] PM: Change hibernation " Rafael J. Wysocki
2009-03-14 11:28   ` Rafael J. Wysocki
2009-03-14 11:29   ` [PATCH 5/11] kexec: Change kexec jump " Rafael J. Wysocki
2009-03-14 11:29   ` Rafael J. Wysocki
2009-03-14 11:30   ` [PATCH 6/11] PCI PM: Consistently use variable name "error" for pm call return values Rafael J. Wysocki
2009-03-14 11:30   ` Rafael J. Wysocki
2009-03-14 11:31   ` [PATCH 7/11] PCI PM: Use pci_set_power_state during early resume Rafael J. Wysocki
2009-03-14 11:31   ` Rafael J. Wysocki
2009-03-14 11:32   ` [PATCH 8/11] PCI PM: Move pci_restore_standard_config to pci-driver.c Rafael J. Wysocki
2009-03-14 11:32   ` Rafael J. Wysocki
2009-03-14 11:32   ` [PATCH 9/11] PCI PM: Put devices into low power states during late suspend (rev. 2) Rafael J. Wysocki
2009-03-14 11:32   ` Rafael J. Wysocki
2009-03-14 11:33   ` [PATCH 10/11] PCI PM: Make pci_set_power_state() handle devices with no PM support Rafael J. Wysocki
2009-03-14 11:33   ` Rafael J. Wysocki
2009-03-14 11:34   ` [PATCH 11/11] PCI PM: Restore config spaces of all devices during early resume Rafael J. Wysocki
2009-03-14 11:34   ` Rafael J. Wysocki
2009-03-14 11:43   ` [PATCH 0/11] PM: Rework suspend-resume ordering to avoid problems with shared interrupts (updated 2x) Ingo Molnar
2009-03-14 11:43   ` Ingo Molnar
2009-03-14 11:24 ` Rafael J. Wysocki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200903121436.21504.rjw@sisk.pl \
    --to=rjw@sisk.pl \
    --cc=arve@android.com \
    --cc=benh@kernel.crashing.org \
    --cc=ebiederm@xmission.com \
    --cc=elendil@planet.nl \
    --cc=jbarnes@virtuousgeek.org \
    --cc=jeremy@goop.org \
    --cc=lenb@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=mingo@elte.hu \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.