public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: Arjan van de Ven <arjan@infradead.org>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	"Rafael J. Wysocki" <rjw@sisk.pl>,
	LKML <linux-kernel@vger.kernel.org>,
	ACPI Devel Maling List <linux-acpi@vger.kernel.org>,
	pm list <linux-pm@lists.linux-foundation.org>,
	Alan Stern <stern@rowland.harvard.edu>
Subject: Re: [GIT PULL] PM updates for 2.6.33
Date: Sun, 6 Dec 2009 21:31:12 -0800	[thread overview]
Message-ID: <20091206213112.568c602b@infradead.org> (raw)
In-Reply-To: <20091207022706.GA20770@core.coreip.homeip.net>

On Sun, 6 Dec 2009 18:27:07 -0800
Dmitry Torokhov <dmitry.torokhov@gmail.com> wrote:

> On Sun, Dec 06, 2009 at 05:18:56PM -0800, Arjan van de Ven wrote:
> > On Sun, 6 Dec 2009 14:54:48 -0800
> > Dmitry Torokhov <dmitry.torokhov@gmail.com> wrote:
> > 
> > > Yes, that's your PS/2 mouse (rather touchpad) and the delay comes
> > > from device reset (needed by some keyboard controllers - I
> > > remember HP -or it and keyboard will be dead at resume).
> > > 
> > 
> > btw could we do this reset in an async function call (as long as we
> > wait for it to complete before we pull the plug finally) ?
> 
> It has to complete before we start shutting down i8042, so there are
> dependencies involved...

async function calls have 2 methods for synchronization:

* inside an async function, you can wait for all "earlier" async
  functions to complete  (async_synchronize_cookie)
* outside an async function, you can wait for all scheduled async
  functions to complete (async_synchronize_full)

so there's two options to use the async code to cut down this time:

1) Make both the mouse, keyboard AND the i8042 suspend functions async,
   and in the i8042 function the code first synchronizes on all previous
   async work
2) only make the mouse and keyboard suspend async, and just wait for all
   async work in i8042 suspend

I strongly prefer number 1, in terms of getting the best suspend speed.
It means that all other suspend code can run in parallel to the whole
serio/i8042 suspend.
Option two is simpler, but the delay is in the normal, synchronous path,
so other suspend code will not run in parallel.

The good news is that neither is hard for someone familiar with the
code...


-- 
Arjan van de Ven 	Intel Open Source Technology Centre
For development, discussion and tips for power savings, 
visit http://www.lesswatts.org

  reply	other threads:[~2009-12-07  5:28 UTC|newest]

Thread overview: 234+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-05 21:16 [GIT PULL] PM updates for 2.6.33 Rafael J. Wysocki
2009-12-05 21:43 ` Linus Torvalds
2009-12-05 21:58   ` Linus Torvalds
2009-12-05 23:55     ` Rafael J. Wysocki
2009-12-06  0:45       ` Arjan van de Ven
2009-12-06  1:26         ` Rafael J. Wysocki
2009-12-06  1:58           ` Arjan van de Ven
2009-12-06  8:39             ` Ingo Molnar
2009-12-06  0:48       ` Linus Torvalds
2009-12-06  1:54         ` Rafael J. Wysocki
2009-12-06  1:57           ` Rafael J. Wysocki
2009-12-06  2:05           ` Linus Torvalds
2009-12-06  2:36             ` Rafael J. Wysocki
2009-12-06 15:23             ` Alan Stern
2009-12-06 19:04               ` [linux-pm] " Victor Lowther
2009-12-07  3:57               ` Zhang Rui
2009-12-07  5:57                 ` Linus Torvalds
2009-12-07  6:15                   ` Linus Torvalds
2009-12-17 23:28                     ` Benjamin Herrenschmidt
2009-12-07  6:37                   ` Arjan van de Ven
2009-12-07 15:13                   ` Alan Stern
2009-12-07 16:31                     ` Linus Torvalds
2009-12-07 16:55                       ` Linus Torvalds
2009-12-07 17:52                       ` Alan Stern
2009-12-07 18:05                         ` Linus Torvalds
2009-12-07 20:37                           ` Alan Stern
2009-12-07 20:48                             ` Linus Torvalds
2009-12-07 21:32                               ` Alan Stern
2009-12-07 21:41                                 ` Linus Torvalds
2009-12-07 21:47                                   ` Rafael J. Wysocki
2009-12-07 22:01                                   ` Alan Stern
2009-12-07 22:06                                     ` Linus Torvalds
2009-12-07 22:21                                       ` Alan Stern
2009-12-07 22:26                                         ` Linus Torvalds
2009-12-07 23:16                                           ` Alan Stern
2009-12-07 22:02                                   ` Rafael J. Wysocki
2009-12-07 22:16                                     ` Linus Torvalds
2009-12-07 23:51                                       ` Rafael J. Wysocki
2009-12-08  3:27                                         ` Alan Stern
2009-12-08 12:23                                           ` Async resume patch (was: Re: [GIT PULL] PM updates for 2.6.33) Rafael J. Wysocki
2009-12-08 12:35                                             ` Rafael J. Wysocki
2009-12-08 15:35                                             ` Linus Torvalds
2009-12-08 15:55                                               ` Alan Stern
2009-12-08 16:42                                                 ` Linus Torvalds
2009-12-08 18:08                                                   ` Alan Stern
2009-12-08 18:41                                                     ` Linus Torvalds
2009-12-08 18:52                                                       ` Linus Torvalds
2009-12-08 19:34                                                         ` Alan Stern
2009-12-08 19:30                                                       ` Alan Stern
2009-12-08 20:48                                                         ` Linus Torvalds
2009-12-08 21:32                                                           ` Alan Stern
2009-12-08 21:52                                                             ` Christian Borntraeger
2009-12-08 22:16                                                             ` Linus Torvalds
2009-12-09 19:06                                                               ` Alan Stern
2009-12-09 21:52                                                                 ` Linus Torvalds
2009-12-08 19:44                                               ` Rafael J. Wysocki
2009-12-08 20:16                                                 ` Alan Stern
2009-12-08 20:30                                                   ` Rafael J. Wysocki
2009-12-08 20:44                                                     ` Alan Stern
2009-12-08 20:52                                                       ` Rafael J. Wysocki
2009-12-08 21:40                                                         ` Alan Stern
2009-12-08 21:48                                                           ` spinlock in completion_done() (was: Re: Async resume patch (was: Re: [GIT PULL] PM updates for 2.6.33)) Rafael J. Wysocki
2009-12-09  9:29                                                             ` Ingo Molnar
2009-12-09 22:37                                                               ` Rafael J. Wysocki
2009-12-10  7:59                                                                 ` Ingo Molnar
2009-12-11  4:10                                                                   ` Dave Chinner
2009-12-11  7:54                                                                     ` Ingo Molnar
2009-12-12 23:07                                                                   ` [PATCH] sched: Make wakeup side variants of completion API irq safe (was: Re: spinlock in completion_done()) Rafael J. Wysocki
2009-12-08 22:18                                                           ` Async resume patch (was: Re: [GIT PULL] PM updates for 2.6.33) Linus Torvalds
2009-12-09  2:11                                                             ` Alan Stern
2009-12-08 21:08                                                   ` Linus Torvalds
2009-12-08 21:13                                                     ` Linus Torvalds
2009-12-08 22:07                                                     ` Alan Stern
2009-12-08 22:30                                                       ` Rafael J. Wysocki
2009-12-09  2:23                                                         ` Alan Stern
2009-12-09 21:56                                                           ` Rafael J. Wysocki
2009-12-09 22:27                                                             ` Alan Stern
2009-12-08 22:32                                                       ` Linus Torvalds
2009-12-09  2:35                                                         ` Alan Stern
2009-12-09  2:54                                                           ` Linus Torvalds
2009-12-09 15:24                                                             ` Alan Stern
2009-12-09 15:38                                                               ` Linus Torvalds
2009-12-09 15:57                                                                 ` Alan Stern
2009-12-25 17:09                                                                   ` Pavel Machek
2009-12-09 13:38                                                           ` Mark Brown
2009-12-09 15:49                                                             ` Alan Stern
2009-12-09 16:02                                                               ` Mark Brown
2009-12-09 16:23                                                                 ` Alan Stern
2009-12-09 16:46                                                                   ` Mark Brown
2009-12-09 16:57                                                                     ` Linus Torvalds
2009-12-09 17:45                                                                       ` Mark Brown
2009-12-09 17:57                                                                         ` Linus Torvalds
2009-12-09 18:27                                                                           ` Mark Brown
2009-12-09 17:10                                                                     ` Alan Stern
2009-12-09 17:19                                                                       ` Linus Torvalds
2009-12-09 18:08                                                                       ` Mark Brown
2009-12-08 21:04                                                 ` Linus Torvalds
2009-12-08 21:40                                                   ` Rafael J. Wysocki
2009-12-08 22:03                                                     ` Rafael J. Wysocki
2009-12-08 22:55                                                       ` Async suspend-resume patch w/ rwsems " Rafael J. Wysocki
2009-12-08 23:24                                                         ` Rafael J. Wysocki
2009-12-09 20:15                                                         ` Alan Stern
2009-12-09 22:18                                                           ` Rafael J. Wysocki
2009-12-09 22:38                                                             ` Alan Stern
2009-12-09 23:18                                                               ` Async suspend-resume patch w/ completions (was: Re: Async suspend-resume patch w/ rwsems) Rafael J. Wysocki
2009-12-10  2:51                                                                 ` Linus Torvalds
2009-12-10 19:40                                                                   ` Rafael J. Wysocki
2009-12-10 23:30                                                                     ` Linus Torvalds
2009-12-11  1:02                                                                       ` Rafael J. Wysocki
2009-12-11  1:25                                                                         ` Linus Torvalds
2009-12-11  3:42                                                                           ` Alan Stern
2009-12-11 22:17                                                                             ` Rafael J. Wysocki
2009-12-12  0:38                                                                               ` Alan Stern
2009-12-11 22:11                                                                           ` Rafael J. Wysocki
2009-12-11 22:31                                                                             ` Linus Torvalds
2009-12-11 23:48                                                                               ` Rafael J. Wysocki
2009-12-11 23:53                                                                                 ` Linus Torvalds
2009-12-12 17:48                                                                                   ` Rafael J. Wysocki
2009-12-12 18:54                                                                                     ` Linus Torvalds
2009-12-12 22:34                                                                                       ` Rafael J. Wysocki
2009-12-12 22:40                                                                                         ` Rafael J. Wysocki
2009-12-14 18:21                                                                                         ` Linus Torvalds
2009-12-14 22:11                                                                                           ` Rafael J. Wysocki
2009-12-14 22:41                                                                                             ` Linus Torvalds
2009-12-14 22:43                                                                                               ` Linus Torvalds
2009-12-14 23:18                                                                                               ` Rafael J. Wysocki
2009-12-15  0:10                                                                                                 ` Linus Torvalds
2009-12-15  0:11                                                                                                   ` Linus Torvalds
2009-12-15 11:14                                                                                                     ` Rafael J. Wysocki
2009-12-15 15:31                                                                                                       ` Linus Torvalds
2009-12-15 11:03                                                                                                   ` Rafael J. Wysocki
2009-12-15 15:26                                                                                                     ` Linus Torvalds
2009-12-15 15:55                                                                                                       ` Alan Stern
2009-12-15 16:28                                                                                                         ` Linus Torvalds
2009-12-15 18:57                                                                                                           ` Linus Torvalds
2009-12-15 20:26                                                                                                           ` Alan Stern
2009-12-15 21:26                                                                                                             ` Rafael J. Wysocki
2009-12-15 22:01                                                                                                               ` Alan Stern
2009-12-15 21:54                                                                                                             ` Linus Torvalds
2009-12-15 22:27                                                                                                               ` Alan Stern
2009-12-16  2:11                                                                                                       ` Rafael J. Wysocki
2009-12-16  6:40                                                                                                         ` Dmitry Torokhov
2009-12-18 22:43                                                                                                           ` Rafael J. Wysocki
2009-12-19 19:59                                                                                                             ` Dmitry Torokhov
2009-12-19 21:33                                                                                                               ` Rafael J. Wysocki
2009-12-19 22:29                                                                                                                 ` Rafael J. Wysocki
2009-12-19 22:43                                                                                                                   ` Dmitry Torokhov
2009-12-19 22:47                                                                                                                 ` Dmitry Torokhov
2009-12-19 23:10                                                                                                                   ` Rafael J. Wysocki
2009-12-19 23:22                                                                                                                     ` Dmitry Torokhov
2009-12-19 23:33                                                                                                                       ` Rafael J. Wysocki
2009-12-19 23:23                                                                                                                     ` Linus Torvalds
2009-12-19 23:40                                                                                                                       ` Rafael J. Wysocki
2009-12-19 23:46                                                                                                                         ` Linus Torvalds
2009-12-19 23:47                                                                                                                           ` Linus Torvalds
2009-12-19 23:54                                                                                                                             ` Rafael J. Wysocki
2009-12-19 23:53                                                                                                                           ` Rafael J. Wysocki
2009-12-20  0:09                                                                                                                             ` Linus Torvalds
2009-12-20  0:35                                                                                                                               ` Rafael J. Wysocki
2009-12-20  2:41                                                                                                                               ` Dmitry Torokhov
2009-12-20 19:25                                                                                                                                 ` [linux-pm] " Rafael J. Wysocki
2009-12-21  7:39                                                                                                                                   ` [linux-pm] Async suspend-resume patch w/ completions (was: Re: Async?suspend-resume " Dmitry Torokhov
2009-12-21 11:20                                                                                                                                     ` Vojtech Pavlik
2009-12-20  2:45                                                                                                                             ` Async suspend-resume patch w/ completions (was: Re: Async suspend-resume " Dmitry Torokhov
2009-12-20  3:59                                                                                                                         ` Alan Stern
2009-12-20 12:52                                                                                                                           ` Rafael J. Wysocki
2009-12-20 17:12                                                                                                                             ` Alan Stern
2009-12-20 18:10                                                                                                                               ` Rafael J. Wysocki
2009-12-20 19:38                                                                                                                                 ` Alan Stern
2009-12-20 19:51                                                                                                                                   ` Rafael J. Wysocki
2009-12-16 15:22                                                                                                         ` Alan Stern
2009-12-16 19:26                                                                                                           ` Rafael J. Wysocki
2009-12-16 15:47                                                                                                         ` Linus Torvalds
2009-12-16 19:27                                                                                                           ` Rafael J. Wysocki
2009-12-16 20:59                                                                                                             ` Linus Torvalds
2009-12-16 21:57                                                                                                               ` Rafael J. Wysocki
2009-12-16 22:11                                                                                                                 ` Linus Torvalds
2009-12-16 22:33                                                                                                                   ` Rafael J. Wysocki
2009-12-16 23:04                                                                                                                 ` Alan Stern
2009-12-16 23:18                                                                                                                   ` Rafael J. Wysocki
2009-12-17  1:30                                                                                                                     ` Rafael J. Wysocki
2009-12-17  1:49                                                                                                                 ` Rafael J. Wysocki
2009-12-17 20:06                                                                                                                   ` Alan Stern
2009-12-17 20:36                                                                                                                     ` Rafael J. Wysocki
2009-12-18  1:51                                                                                                                   ` Rafael J. Wysocki
2009-12-18 17:26                                                                                                                     ` Alan Stern
2009-12-19 21:41                                                                                                                       ` Rafael J. Wysocki
2009-12-20  3:48                                                                                                                         ` Alan Stern
2009-12-20 12:55                                                                                                                           ` Rafael J. Wysocki
2009-12-18 23:42                                                                                                                     ` Rafael J. Wysocki
2009-12-13 13:08                                                                                       ` Rafael J. Wysocki
2009-12-13 17:30                                                                                       ` Alan Stern
2009-12-13 19:02                                                                                         ` [linux-pm] " Alan Stern
2009-12-12  0:43                                                                                 ` Alan Stern
2009-12-12 17:35                                                                                   ` Rafael J. Wysocki
2009-12-10 15:31                                                                 ` Alan Stern
2009-12-10 15:45                                                                   ` Linus Torvalds
2009-12-10 18:37                                                                     ` Alan Stern
2009-12-10 23:51                                                                       ` Linus Torvalds
2009-12-10 21:14                                                                   ` Rafael J. Wysocki
2009-12-10 22:17                                                                     ` Alan Stern
2009-12-10 23:45                                                                       ` Rafael J. Wysocki
2009-12-07 15:15                   ` [GIT PULL] PM updates for 2.6.33 Rafael J. Wysocki
2009-12-07 16:37                     ` Linus Torvalds
2009-12-07 20:47                       ` Rafael J. Wysocki
2009-12-07 20:56                         ` Linus Torvalds
2009-12-07  5:20               ` Linus Torvalds
2009-12-07 15:42                 ` Alan Stern
2009-12-06 19:35             ` Arjan van de Ven
2009-12-06 19:58               ` Linus Torvalds
2009-12-06 20:18                 ` Arjan van de Ven
2009-12-06 21:08                   ` Linus Torvalds
2009-12-06 22:54                   ` Dmitry Torokhov
2009-12-07  0:55                     ` Arjan van de Ven
2009-12-07  2:27                       ` Dmitry Torokhov
2009-12-07  5:26                         ` Arjan van de Ven
2009-12-07  6:00                           ` Dmitry Torokhov
2009-12-21  9:01                             ` Pavel Machek
2009-12-07  1:18                     ` Arjan van de Ven
2009-12-07  2:27                       ` Dmitry Torokhov
2009-12-07  5:31                         ` Arjan van de Ven [this message]
2009-12-07  6:15                           ` Dmitry Torokhov
2009-12-07  6:31                             ` Arjan van de Ven
2009-12-07  6:32                               ` Dmitry Torokhov
2009-12-07 15:17                                 ` Rafael J. Wysocki
2009-12-06 20:36               ` Alan Stern
2009-12-06 21:17                 ` Arjan van de Ven
2009-12-06 21:46                   ` Alan Stern
2009-12-06 21:57                     ` Arjan van de Ven
2009-12-06 22:04                       ` Alan Stern
2009-12-06  0:29   ` Rafael J. Wysocki
2009-12-06  0:52     ` Linus Torvalds
2009-12-06  1:24       ` Rafael J. Wysocki
2009-12-06  1:50         ` Linus Torvalds

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=20091206213112.568c602b@infradead.org \
    --to=arjan@infradead.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=rjw@sisk.pl \
    --cc=stern@rowland.harvard.edu \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox