From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Matthew Garrett <mjg59@srcf.ucam.org>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>,
david@lang.hm, "Arjan van de Ven" <arjan@infradead.org>,
"Arve Hjønnevåg" <arve@android.com>,
linux-pm@lists.linux-foundation.org,
linux-kernel@vger.kernel.org, pavel@ucw.cz, florian@mickler.org,
stern@rowland.harvard.edu, swetland@google.com,
peterz@infradead.org, tglx@linutronix.de,
alan@lxorguk.ukuu.org.uk
Subject: Re: Attempted summary of suspend-blockers LKML thread
Date: Wed, 4 Aug 2010 14:15:21 -0700 [thread overview]
Message-ID: <20100804211521.GI24163@linux.vnet.ibm.com> (raw)
In-Reply-To: <20100804205654.GA4986@srcf.ucam.org>
On Wed, Aug 04, 2010 at 09:56:55PM +0100, Matthew Garrett wrote:
> On Wed, Aug 04, 2010 at 10:51:07PM +0200, Rafael J. Wysocki wrote:
> > On Wednesday, August 04, 2010, Matthew Garrett wrote:
> > > No! And that's precisely the issue. Android's existing behaviour could
> > > be entirely implemented in the form of binary that manually triggers
> > > suspend when (a) the screen is off and (b) no userspace applications
> > > have indicated that the system shouldn't sleep, except for the wakeup
> > > event race. Imagine the following:
> > >
> > > 1) The policy timeout is about to expire. No applications are holding
> > > wakelocks. The system will suspend providing nothing takes a wakelock.
> > > 2) A network packet arrives indicating an incoming SIP call
> > > 3) The VOIP application takes a wakelock and prevents the phone from
> > > suspending while the call is in progress
> > >
> > > What stops the system going to sleep between (2) and (3)? cgroups don't,
> > > because the voip app is an otherwise untrusted application that you've
> > > just told the scheduler to ignore.
> >
> > I _think_ you can use the just-merged /sys/power/wakeup_count mechanism to
> > avoid the race (if pm_wakeup_event() is called at 2)).
>
> Yes, I think that solves the problem. The only question then is whether
> it's preferable to use cgroups or suspend fully, which is pretty much up
> to the implementation. In other words, is there a reason we're still
> having this conversation? :) It'd be good to have some feedback from
> Google as to whether this satisfies their functional requirements.
The issue with cgroup freezer as currently defined is that it can freeze
processes that hold user-level resources (pthread mutexes, SysV semas,
...). If some non-frozen process attempts to acquire that resource, you
get a hang. There might be some ways to work around this, for example,
Arjan suggests momentarily unfreezing periodically, and I suggested doing
the freeze in user-space code, but we don't know if either of these will
really do what is required.
Also, I believe that Android's use of cgroups would be in addition to
suspending fully rather than instead of. Freezing a subset of the
applications allows cutting power drain from output-only apps when
the screen blanks but where some app such as a download needs to keep
the system active. They still would need to suspend once the download
completes.
But we do need to hear from the Android guys on these points.
Thanx, Paul
next prev parent reply other threads:[~2010-08-04 21:15 UTC|newest]
Thread overview: 412+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-31 17:58 Attempted summary of suspend-blockers LKML thread Paul E. McKenney
2010-07-31 20:19 ` Alan Stern
2010-08-01 4:36 ` Paul E. McKenney
2010-08-01 19:41 ` Alan Stern
2010-08-01 20:11 ` Paul E. McKenney
2010-08-01 22:16 ` Alan Stern
2010-08-01 22:38 ` [linux-pm] " David Brownell
2010-08-02 0:29 ` Paul E. McKenney
2010-08-02 0:28 ` Paul E. McKenney
2010-08-01 15:41 ` Rafael J. Wysocki
2010-08-01 19:56 ` Paul E. McKenney
2010-08-01 22:44 ` Rafael J. Wysocki
2010-08-02 0:32 ` Paul E. McKenney
2010-08-01 4:52 ` Arjan van de Ven
2010-08-01 5:48 ` Paul E. McKenney
2010-08-01 6:01 ` Arjan van de Ven
2010-08-01 19:12 ` Paul E. McKenney
2010-08-01 20:40 ` Ted Ts'o
2010-08-01 23:00 ` Arjan van de Ven
2010-08-01 23:02 ` Rafael J. Wysocki
2010-08-01 23:12 ` Arjan van de Ven
2010-08-01 23:19 ` [linux-pm] " David Brownell
2010-08-01 23:30 ` James Bottomley
2010-08-02 12:12 ` Ted Ts'o
2010-08-02 16:51 ` James Bottomley
2010-08-02 18:47 ` Ted Ts'o
2010-08-02 3:03 ` Paul E. McKenney
2010-08-02 4:05 ` Arjan van de Ven
2010-08-02 5:06 ` david
2010-08-02 5:44 ` Florian Mickler
2010-08-02 6:06 ` david
2010-08-02 6:40 ` Florian Mickler
2010-08-02 6:53 ` Florian Mickler
2010-08-02 7:02 ` david
2010-08-02 7:23 ` Florian Mickler
2010-08-02 9:06 ` david
2010-08-03 4:41 ` Paul Menage
2010-08-03 11:26 ` Florian Mickler
2010-08-03 4:38 ` Paul Menage
2010-08-03 11:25 ` Florian Mickler
2010-08-02 14:09 ` Paul E. McKenney
2010-08-03 0:08 ` david
2010-08-03 3:21 ` Arve Hjønnevåg
2010-08-03 4:44 ` david
2010-08-03 5:01 ` Arve Hjønnevåg
2010-08-03 5:06 ` david
2010-08-03 22:47 ` Arve Hjønnevåg
2010-08-03 23:19 ` david
2010-08-04 0:10 ` Paul E. McKenney
2010-08-04 0:51 ` david
2010-08-04 3:39 ` Arve Hjønnevåg
2010-08-04 4:47 ` david
2010-08-04 5:46 ` Florian Mickler
2010-08-04 5:59 ` Arve Hjønnevåg
2010-08-04 6:30 ` david
2010-08-04 7:10 ` Arve Hjønnevåg
2010-08-04 7:35 ` Florian Mickler
2010-08-04 7:42 ` david
2010-08-04 11:47 ` Rafael J. Wysocki
2010-08-04 18:51 ` david
2010-08-04 20:31 ` Rafael J. Wysocki
2010-08-04 23:04 ` david
2010-08-04 23:26 ` Rafael J. Wysocki
2010-08-04 23:39 ` david
2010-08-05 0:10 ` Rafael J. Wysocki
2010-08-05 13:21 ` david
2010-08-04 4:58 ` Olivier Galibert
2010-08-04 6:03 ` Arve Hjønnevåg
2010-08-04 6:28 ` Olivier Galibert
2010-08-04 6:50 ` Arve Hjønnevåg
2010-08-04 16:27 ` Paul E. McKenney
2010-08-04 20:43 ` Rafael J. Wysocki
2010-08-04 3:57 ` Arjan van de Ven
2010-08-04 4:55 ` david
2010-08-04 6:12 ` Florian Mickler
2010-08-04 6:48 ` david
2010-08-04 5:22 ` Arve Hjønnevåg
2010-08-04 18:39 ` Paul E. McKenney
2010-08-04 18:32 ` Paul E. McKenney
2010-08-04 20:46 ` Rafael J. Wysocki
2010-08-02 5:34 ` Florian Mickler
2010-08-02 12:27 ` Ted Ts'o
2010-08-02 14:08 ` Rafael J. Wysocki
2010-08-02 14:00 ` Paul E. McKenney
2010-08-01 22:47 ` Arjan van de Ven
2010-08-02 1:10 ` Paul E. McKenney
2010-08-02 3:06 ` Arjan van de Ven
2010-08-02 14:12 ` Paul E. McKenney
2010-08-02 13:52 ` Rafael J. Wysocki
2010-08-02 20:36 ` Paul E. McKenney
2010-08-02 21:33 ` Rafael J. Wysocki
2010-08-02 22:27 ` Paul E. McKenney
2010-08-02 22:40 ` Rafael J. Wysocki
2010-08-03 4:56 ` Arve Hjønnevåg
2010-08-03 14:11 ` Paul E. McKenney
2010-08-04 1:34 ` Arjan van de Ven
2010-08-04 16:32 ` Paul E. McKenney
2010-08-04 16:35 ` Matthew Garrett
2010-08-04 18:30 ` david
2010-08-04 18:55 ` Matthew Garrett
2010-08-04 19:15 ` david
2010-08-04 19:21 ` Matthew Garrett
2010-08-04 19:29 ` david
2010-08-04 19:57 ` Matthew Garrett
2010-08-04 22:20 ` david
2010-08-05 13:38 ` Matthew Garrett
2010-08-05 14:34 ` david
2010-08-05 15:15 ` Brian Swetland
2010-08-04 20:08 ` Paul E. McKenney
2010-08-04 22:29 ` david
2010-08-04 23:06 ` Paul E. McKenney
2010-08-04 23:15 ` david
2010-08-04 20:51 ` Rafael J. Wysocki
2010-08-04 20:56 ` Matthew Garrett
2010-08-04 21:15 ` Paul E. McKenney [this message]
2010-08-04 21:31 ` Rafael J. Wysocki
2010-08-04 22:08 ` Arve Hjønnevåg
2010-08-05 0:20 ` Rafael J. Wysocki
2010-08-05 1:02 ` Arve Hjønnevåg
2010-08-05 3:59 ` Paul E. McKenney
2010-08-05 13:40 ` Matthew Garrett
2010-08-05 14:22 ` david
2010-08-05 14:29 ` Brian Swetland
2010-08-05 14:33 ` Matthew Garrett
2010-08-05 15:34 ` Rafael J. Wysocki
2010-08-05 22:02 ` Arve Hjønnevåg
2010-08-05 23:41 ` Rafael J. Wysocki
2010-08-06 0:29 ` Brian Swetland
2010-08-06 0:42 ` Rafael J. Wysocki
2010-08-06 17:09 ` Paul E. McKenney
2010-08-06 1:29 ` Arve Hjønnevåg
2010-08-06 12:43 ` Mark Brown
2010-08-06 16:00 ` Paul E. McKenney
2010-08-06 19:44 ` Alan Stern
2010-08-06 22:04 ` Rafael J. Wysocki
2010-08-07 8:49 ` Rafael J. Wysocki
2010-08-07 13:35 ` Alan Stern
2010-08-08 17:25 ` Rafael J. Wysocki
2010-08-08 19:07 ` Alan Stern
2010-08-07 3:19 ` Arve Hjønnevåg
2010-08-07 8:44 ` Rafael J. Wysocki
2010-08-07 10:02 ` Arve Hjønnevåg
2010-08-07 10:23 ` Arve Hjønnevåg
2010-08-08 19:17 ` Rafael J. Wysocki
2010-08-09 5:29 ` Arve Hjønnevåg
2010-08-10 2:53 ` Rafael J. Wysocki
2010-08-10 4:28 ` Arve Hjønnevåg
2010-08-11 2:11 ` Rafael J. Wysocki
2010-08-08 19:42 ` Alan Stern
2010-08-09 4:52 ` Arve Hjønnevåg
2010-08-08 19:55 ` Rafael J. Wysocki
2010-08-09 5:09 ` Arve Hjønnevåg
2010-08-05 2:39 ` Paul E. McKenney
2010-08-05 2:46 ` Brian Swetland
2010-08-05 4:05 ` Paul E. McKenney
2010-08-04 22:31 ` david
2010-08-04 22:51 ` Arve Hjønnevåg
2010-08-04 22:56 ` david
2010-08-04 23:10 ` Paul E. McKenney
2010-08-04 23:13 ` Anca Emanuel
2010-08-04 23:19 ` Paul E. McKenney
2010-08-04 23:19 ` david
2010-08-04 23:33 ` Rafael J. Wysocki
2010-08-04 23:53 ` david
2010-08-05 0:15 ` Rafael J. Wysocki
2010-08-05 13:28 ` david
2010-08-05 13:47 ` Matthew Garrett
2010-08-05 14:07 ` david
2010-08-05 14:16 ` Matthew Garrett
2010-08-05 14:23 ` Brian Swetland
2010-08-05 5:33 ` Florian Mickler
2010-08-05 5:56 ` Florian Mickler
2010-08-05 13:04 ` david
2010-08-04 23:15 ` Arve Hjønnevåg
2010-08-04 23:23 ` david
2010-08-04 23:30 ` Paul E. McKenney
2010-08-04 23:49 ` david
2010-08-05 0:17 ` Paul E. McKenney
2010-08-05 0:25 ` david
2010-08-05 0:48 ` Paul E. McKenney
2010-08-05 5:18 ` david
2010-08-05 15:12 ` Paul E. McKenney
2010-08-05 15:46 ` david
2010-08-05 18:09 ` Paul E. McKenney
2010-08-05 20:09 ` david
2010-08-05 18:13 ` kevin granade
2010-08-05 18:20 ` Brian Swetland
2010-08-05 20:30 ` david
2010-08-05 20:26 ` david
2010-08-05 23:19 ` Paul E. McKenney
2010-08-06 8:29 ` david
2010-08-06 17:24 ` Paul E. McKenney
2010-08-06 22:12 ` david
2010-08-05 20:31 ` Paul E. McKenney
2010-08-05 20:51 ` kevin granade
2010-08-05 22:09 ` david
2010-08-05 22:16 ` Brian Swetland
2010-08-05 23:03 ` Paul E. McKenney
2010-08-06 0:13 ` Brian Swetland
2010-08-06 0:16 ` david
2010-08-06 0:22 ` Brian Swetland
2010-08-06 1:01 ` david
2010-08-06 1:22 ` Brian Swetland
2010-08-06 8:07 ` david
2010-08-06 12:35 ` Mark Brown
2010-08-06 12:30 ` Mark Brown
2010-08-06 17:22 ` Paul E. McKenney
2010-08-06 17:33 ` Mark Brown
2010-08-06 18:18 ` Paul E. McKenney
2010-08-06 23:35 ` david
2010-08-07 0:14 ` Mark Brown
2010-08-07 0:36 ` Paul E. McKenney
2010-08-07 13:07 ` Mark Brown
2010-08-07 14:36 ` Paul E. McKenney
2010-08-07 1:00 ` david
2010-08-07 6:28 ` Ted Ts'o
2010-08-08 13:35 ` Felipe Contreras
2010-08-08 16:08 ` Matthew Garrett
2010-08-08 17:08 ` Felipe Contreras
2010-08-08 17:09 ` Matthew Garrett
2010-08-08 18:34 ` Mark Brown
2010-08-12 0:23 ` Felipe Contreras
2010-08-07 9:01 ` Rafael J. Wysocki
2010-08-07 10:00 ` david
2010-08-07 15:07 ` Paul E. McKenney
2010-08-07 20:17 ` david
2010-08-07 21:11 ` Paul E. McKenney
2010-08-05 23:05 ` Paul E. McKenney
2010-08-05 16:09 ` [linux-pm] " Mark Brown
2010-08-05 18:21 ` Paul E. McKenney
2010-08-04 23:40 ` Arve Hjønnevåg
2010-08-05 0:00 ` david
2010-08-04 20:42 ` Pavel Machek
2010-08-04 20:48 ` Matthew Garrett
2010-08-04 22:54 ` david
2010-08-04 20:51 ` Paul E. McKenney
2010-08-04 21:15 ` Pavel Machek
2010-08-04 21:39 ` Florian Mickler
2010-08-04 22:42 ` david
2010-08-04 21:40 ` Mark Brown
2010-08-05 1:58 ` Matt Helsley
2010-08-05 2:02 ` Brian Swetland
2010-08-05 3:25 ` Matt Helsley
2010-08-01 6:24 ` Mikael Abrahamsson
2010-08-01 6:49 ` Mikael Abrahamsson
2010-08-01 19:27 ` Paul E. McKenney
2010-08-01 22:49 ` Arjan van de Ven
2010-08-02 3:04 ` Paul E. McKenney
2010-08-01 19:45 ` Alan Stern
2010-08-01 23:16 ` [linux-pm] " James Bottomley
2010-08-02 1:11 ` Paul E. McKenney
2010-08-03 4:18 ` Arve Hjønnevåg
2010-08-03 15:41 ` Paul E. McKenney
2010-08-03 22:23 ` Arve Hjønnevåg
2010-08-04 1:09 ` Paul E. McKenney
2010-08-03 16:02 ` [linux-pm] " James Bottomley
2010-08-03 22:08 ` Arve Hjønnevåg
2010-08-04 4:00 ` James Bottomley
2010-08-04 5:43 ` Arve Hjønnevåg
2010-08-04 19:57 ` Attempted summary of suspend-blockers LKML thread, take two Paul E. McKenney
2010-08-05 13:18 ` david
2010-08-05 13:37 ` Brian Swetland
2010-08-05 23:35 ` Paul E. McKenney
2010-08-05 14:40 ` Paul E. McKenney
2010-08-09 7:26 ` Pavel Machek
2010-08-09 7:34 ` Brian Swetland
2010-08-06 22:54 ` Attempted summary of suspend-blockers LKML thread, take three Paul E. McKenney
2010-08-06 23:59 ` david
2010-08-07 0:25 ` Paul E. McKenney
2010-08-07 1:40 ` david
2010-08-07 2:41 ` Alan Stern
2010-08-07 3:08 ` david
2010-08-07 13:26 ` Alan Stern
2010-08-07 21:01 ` david
2010-08-08 15:36 ` Alan Stern
2010-08-07 2:05 ` Brian Swetland
2010-08-07 3:14 ` david
2010-08-07 6:15 ` Ted Ts'o
2010-08-07 9:11 ` Rafael J. Wysocki
2010-08-07 9:12 ` Rafael J. Wysocki
2010-08-07 14:46 ` Theodore Tso
2010-08-07 20:36 ` david
2010-08-08 16:17 ` Matthew Garrett
2010-08-07 9:38 ` david
2010-08-07 15:32 ` Paul E. McKenney
2010-08-07 21:20 ` david
2010-08-08 12:53 ` Felipe Contreras
2010-08-08 15:57 ` Ted Ts'o
2010-08-08 17:40 ` Felipe Contreras
2010-08-08 18:02 ` Brian Swetland
2010-08-08 21:38 ` Ted Ts'o
2010-08-09 10:24 ` Alan Cox
2010-08-09 18:16 ` Paul E. McKenney
2010-08-09 18:28 ` david
2010-08-09 18:54 ` Paul E. McKenney
2010-08-09 19:18 ` Alan Cox
2010-08-09 19:32 ` Brian Swetland
2010-08-10 1:17 ` david
2010-08-10 4:45 ` Paul E. McKenney
2010-08-10 8:38 ` Alan Cox
2010-08-10 14:11 ` Matthew Garrett
2010-08-10 14:40 ` Alan Cox
2010-08-10 14:55 ` Matthew Garrett
2010-08-10 14:44 ` Alan Cox
2010-08-11 0:44 ` Paul E. McKenney
2010-08-10 18:07 ` david
2010-08-10 18:13 ` Matthew Garrett
2010-08-10 18:18 ` david
2010-08-11 0:42 ` Paul E. McKenney
2010-08-11 1:28 ` david
2010-08-11 2:21 ` Paul E. McKenney
2010-08-11 3:00 ` david
2010-08-11 22:49 ` Paul E. McKenney
2010-08-11 20:00 ` Felipe Contreras
2010-08-11 22:12 ` Paul E. McKenney
2010-08-12 0:17 ` Felipe Contreras
2010-08-12 16:19 ` Paul E. McKenney
2010-08-12 17:52 ` Felipe Contreras
2010-08-12 18:38 ` Paul E. McKenney
2010-08-13 15:14 ` Paul E. McKenney
2010-08-13 15:28 ` Felipe Contreras
2010-08-13 17:13 ` Paul E. McKenney
2010-08-19 23:10 ` david
2010-08-20 4:58 ` Paul E. McKenney
2010-08-11 19:25 ` Felipe Contreras
2010-08-11 19:43 ` Mark Brown
2010-08-11 19:18 ` Felipe Contreras
2010-08-11 22:28 ` Paul E. McKenney
2010-08-12 0:28 ` Felipe Contreras
2010-08-12 1:06 ` Paul E. McKenney
2010-08-12 1:25 ` Felipe Contreras
2010-08-12 3:44 ` Paul E. McKenney
2010-08-12 10:36 ` Felipe Contreras
2010-08-12 10:47 ` Theodore Tso
2010-08-12 11:11 ` Felipe Contreras
2010-08-12 11:40 ` Alan Stern
2010-08-12 12:28 ` Felipe Contreras
2010-08-12 12:52 ` Ted Ts'o
2010-08-12 16:46 ` Felipe Contreras
2010-08-12 18:21 ` Ted Ts'o
2010-08-12 19:05 ` Felipe Contreras
2010-08-12 19:19 ` Brian Swetland
2010-08-12 19:57 ` Jesse Barnes
2010-08-13 3:28 ` Rafael J. Wysocki
2010-08-13 4:25 ` [linux-pm] " Paul Fox
2010-08-13 4:37 ` Arve Hjønnevåg
2010-08-13 15:07 ` Rafael J. Wysocki
2010-08-14 3:18 ` Neil Brown
2010-08-14 10:41 ` Pavel Machek
2010-08-13 16:20 ` Jesse Barnes
2010-08-17 13:18 ` Rafael J. Wysocki
2010-08-17 15:00 ` Alan Stern
2010-08-13 11:09 ` Felipe Contreras
2010-08-14 7:59 ` Pavel Machek
2010-08-13 10:39 ` Alan Cox
2010-08-14 7:50 ` Pavel Machek
2010-08-16 11:36 ` Bernd Petrovitsch
2010-08-16 15:16 ` Jesse Barnes
2010-08-17 0:20 ` Ted Ts'o
2010-08-17 0:55 ` Jesse Barnes
2010-08-17 7:08 ` Neil Brown
2010-08-17 15:33 ` Ted Ts'o
2010-08-17 17:33 ` Paul E. McKenney
2010-09-04 8:57 ` Pavel Machek
2010-08-12 14:09 ` Mark Brown
2010-08-12 16:57 ` Felipe Contreras
2010-08-12 17:33 ` Brian Swetland
2010-08-12 19:00 ` Felipe Contreras
2010-08-12 19:27 ` [linux-pm] " Dominik Brodowski
2010-08-12 17:43 ` Paul E. McKenney
2010-08-12 19:34 ` Felipe Contreras
2010-08-12 19:48 ` Brian Swetland
2010-08-12 19:52 ` [linux-pm] " Dominik Brodowski
2010-08-13 10:30 ` Alan Cox
2010-08-13 10:43 ` Felipe Contreras
2010-08-13 10:35 ` Alan Cox
2010-08-13 10:58 ` Felipe Contreras
2010-08-13 14:42 ` Paul E. McKenney
2010-08-28 8:51 ` Pavel Machek
2010-08-31 0:04 ` Paul E. McKenney
2010-08-13 15:22 ` Paul E. McKenney
2010-08-13 15:40 ` Felipe Contreras
2010-08-13 15:57 ` [linux-pm] " Dominik Brodowski
2010-08-13 16:06 ` Joe Perches
2010-08-13 16:19 ` Dominik Brodowski
2010-08-13 16:19 ` Felipe Contreras
2010-08-13 17:11 ` James Bottomley
2010-08-13 19:08 ` Ted Ts'o
2010-08-13 19:29 ` Brian Swetland
2010-08-14 0:43 ` James Bottomley
2010-08-16 21:11 ` Rafael J. Wysocki
2010-08-17 12:07 ` Igor Stoppa
2010-08-13 10:57 ` Alan Cox
2010-08-13 15:29 ` Paul E. McKenney
2010-08-14 7:38 ` Pavel Machek
2010-08-14 15:10 ` Paul E. McKenney
2010-08-14 16:53 ` Arjan van de Ven
2010-08-14 18:15 ` David Brownell
2010-08-15 7:00 ` Paul E. McKenney
2010-08-16 16:09 ` Matthew Garrett
2010-08-17 15:25 ` Ted Ts'o
2010-08-10 14:15 ` Mark Brown
2010-08-11 16:57 ` Felipe Contreras
2010-08-11 19:31 ` Ted Ts'o
2010-08-11 21:25 ` Felipe Contreras
2010-08-11 21:37 ` Brian Swetland
2010-08-11 22:03 ` Felipe Contreras
2010-08-11 22:12 ` Brian Swetland
2010-08-12 0:46 ` Felipe Contreras
2010-08-12 1:03 ` Brian Swetland
2010-08-08 12:40 ` Felipe Contreras
2010-08-08 18:07 ` Paul E. McKenney
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=20100804211521.GI24163@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=arjan@infradead.org \
--cc=arve@android.com \
--cc=david@lang.hm \
--cc=florian@mickler.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=mjg59@srcf.ucam.org \
--cc=pavel@ucw.cz \
--cc=peterz@infradead.org \
--cc=rjw@sisk.pl \
--cc=stern@rowland.harvard.edu \
--cc=swetland@google.com \
--cc=tglx@linutronix.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).