public inbox for linux-pm@vger.kernel.org
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: LKML <linux-kernel@vger.kernel.org>,
	ACPI Devel Maling List <linux-acpi@vger.kernel.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	pm list <linux-pm@lists.linux-foundation.org>
Subject: Re: Async suspend-resume patch w/ completions (was: Re: Async suspend-resume patch w/ rwsems)
Date: Fri, 18 Dec 2009 23:43:29 +0100	[thread overview]
Message-ID: <200912182343.29190.rjw@sisk.pl> (raw)
In-Reply-To: <20091216064025.GB2699@core.coreip.homeip.net>

On Wednesday 16 December 2009, Dmitry Torokhov wrote:
> On Wed, Dec 16, 2009 at 03:11:05AM +0100, Rafael J. Wysocki wrote:
> > On Tuesday 15 December 2009, Linus Torvalds wrote:
> > > 
> > > On Tue, 15 Dec 2009, Rafael J. Wysocki wrote:
> > > > > 
> > > > > Give a real example that matters.
> > > > 
> > > > I'll try.  Let -> denote child-parent relationships and assume dpm_list looks
> > > > like this:
> > > 
> > > No. 
> > > 
> > > I mean something real - something like
> > > 
> > >  - if you run on a non-PC with two USB buses behind non-PCI controllers.
> > > 
> > >  - device xyz.
> > > 
> > > > If this applies to _resume_ only, then I agree, but the Arjan's data clearly
> > > > show that serio devices take much more time to suspend than USB.
> > > 
> > > I mean in general - something where you actually have hard data that some 
> > > device really needs anythign more than my one-liner, and really _needs_ 
> > > some complex infrastructure.
> > > 
> > > Not "let's imagine a case like xyz".
> > 
> > As I said I would, I made some measurements.
> > 
> > I measured the total time of suspending and resuming devices as shown by the
> > code added by this patch:
> > http://git.kernel.org/?p=linux/kernel/git/rafael/suspend-2.6.git;a=commitdiff_plain;h=c1b8fc0a8bff7707c10f31f3d26bfa88e18ccd94;hp=087dbf5f079f1b55cbd3964c9ce71268473d5b67
> > on two boxes, HP nx6325 and MSI Wind U100 (hardware-wise they are quite
> > different and the HP was running 64-bit kernel and user space).
> > 
> > I took four cases into consideration:
> > (1) synchronous suspend and resume (/sys/power/pm_async = 0)
> > (2) asynchronous suspend and resume as introduced by the async branch at:
> >     http://git.kernel.org/?p=linux/kernel/git/rafael/suspend-2.6.git;a=shortlog;h=refs/heads/async
> > (3) asynchronous suspend and resume like in (2), but with your one-liner setting
> >     the power.async_suspend flag for PCI bridges on top
> > (4) asynchronous suspend and resume like in (2), but with an extra patch that
> >     is appended on top
> > 
> > For those tests I set power.async_suspend for all USB devices, all serio input
> > devices, the ACPI battery and the USB PCI controllers (to see the impact of the
> > one-liner, if any).
> > 
> > I carried out 5 consecutive suspend-resume cycles (started from under X) on
> > each box in each case, and the raw data are here (all times in milliseconds):
> > http://www.sisk.pl/kernel/data/async-suspend.pdf
> > 
> > The summarized data are below (the "big" numbers are averages and the +/-
> > numbers are standard deviations, all in milliseconds):
> > 
> > 			HP nx6325		MSI Wind U100
> > 
> > sync suspend		1482 (+/- 40)	1180 (+/- 24)
> > sync resume		2955 (+/- 2)	3597 (+/- 25)
> > 
> > async suspend		1553 (+/- 49)	1177 (+/- 32)
> > async resume		2692 (+/- 326)	3556  (+/- 33)
> > 
> > async+one-liner suspend	1600 (+/- 39)	1212 (+/- 41)
> > async+one-liner resume	2692 (+/- 324)	3579 (+/- 24)
> > 
> > async+extra suspend	1496 (+/- 37)	1217 (+/- 38)
> > async+extra resume	1859 (+/- 114)	1923 (+/- 35)
> > 
> > So, in my opinion, with the above set of "async" devices, it doesn't
> > make sense to do async suspend at all, because the sync suspend is actually
> > the fastest on both machines.
> 
> I think the async suspend is not asynchronous enough then - what kind of
> time do you get if you simply comment out call to psmouse_reset() in
> drivers/input/mouse/psmouse-base.c:psmouse_cleanup()?  (Just for testing
> purposes only, I don't think we want to do that by default.)

The problem apparently is that the i8042 suspend/resume is synchronous.

Do you think it's safe to mark it as asynchronous?

Rafael

  parent reply	other threads:[~2009-12-18 22:43 UTC|newest]

Thread overview: 98+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <Pine.LNX.4.44L0.0912091729530.2672-100000@iolanthe.rowland.org>
2009-12-09 23:18 ` Async suspend-resume patch w/ completions (was: Re: Async suspend-resume patch w/ rwsems) Rafael J. Wysocki
     [not found] ` <200912100018.19723.rjw@sisk.pl>
2009-12-10  2:51   ` Linus Torvalds
2009-12-10 15:31   ` Alan Stern
     [not found]   ` <alpine.LFD.2.00.0912091835280.3560@localhost.localdomain>
2009-12-10 19:40     ` Rafael J. Wysocki
     [not found]     ` <200912102040.11063.rjw@sisk.pl>
2009-12-10 23:30       ` Linus Torvalds
     [not found]       ` <alpine.LFD.2.00.0912101507550.3560@localhost.localdomain>
2009-12-11  1:02         ` Rafael J. Wysocki
     [not found]         ` <200912110202.28536.rjw@sisk.pl>
2009-12-11  1:25           ` Linus Torvalds
     [not found]           ` <alpine.LFD.2.00.0912101713440.3560@localhost.localdomain>
2009-12-11  3:42             ` Alan Stern
2009-12-11 22:11             ` Rafael J. Wysocki
     [not found]             ` <200912112311.08548.rjw@sisk.pl>
2009-12-11 22:31               ` Linus Torvalds
     [not found]               ` <alpine.LFD.2.00.0912111415160.3922@localhost.localdomain>
2009-12-11 23:48                 ` Rafael J. Wysocki
     [not found]                 ` <200912120048.46180.rjw@sisk.pl>
2009-12-11 23:53                   ` Linus Torvalds
2009-12-12  0:43                   ` Alan Stern
     [not found]                   ` <alpine.LFD.2.00.0912111552330.3526@localhost.localdomain>
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
     [not found]                           ` <alpine.LFD.2.00.0912141015240.26135@localhost.localdomain>
2009-12-14 22:11                             ` Rafael J. Wysocki
     [not found]                             ` <200912142311.31658.rjw@sisk.pl>
2009-12-14 22:41                               ` Linus Torvalds
     [not found]                               ` <alpine.LFD.2.00.0912141416040.26135@localhost.localdomain>
2009-12-14 22:43                                 ` Linus Torvalds
2009-12-14 23:18                                 ` Rafael J. Wysocki
     [not found]                                 ` <200912150018.11837.rjw@sisk.pl>
2009-12-15  0:10                                   ` Linus Torvalds
     [not found]                                   ` <alpine.LFD.2.00.0912141609020.14385@localhost.localdomain>
2009-12-15  0:11                                     ` Linus Torvalds
2009-12-15 11:03                                     ` Rafael J. Wysocki
     [not found]                                     ` <alpine.LFD.2.00.0912141610460.14385@localhost.localdomain>
2009-12-15 11:14                                       ` Rafael J. Wysocki
     [not found]                                       ` <200912151214.10980.rjw@sisk.pl>
2009-12-15 15:31                                         ` Linus Torvalds
     [not found]                                     ` <200912151203.22916.rjw@sisk.pl>
2009-12-15 15:26                                       ` Linus Torvalds
     [not found]                                       ` <alpine.LFD.2.00.0912150722310.14385@localhost.localdomain>
2009-12-15 15:55                                         ` Alan Stern
2009-12-16  2:11                                         ` Rafael J. Wysocki
     [not found]                                         ` <200912160311.05915.rjw@sisk.pl>
2009-12-16  6:40                                           ` Dmitry Torokhov
2009-12-16 15:22                                           ` Alan Stern
2009-12-16 15:47                                           ` Linus Torvalds
2009-12-16 19:27                                             ` Rafael J. Wysocki
     [not found]                                             ` <200912162027.16574.rjw@sisk.pl>
2009-12-16 20:59                                               ` Linus Torvalds
     [not found]                                               ` <alpine.LFD.2.00.0912161255080.3556@localhost.localdomain>
2009-12-16 21:57                                                 ` Rafael J. Wysocki
     [not found]                                                 ` <200912162257.00771.rjw@sisk.pl>
2009-12-16 22:11                                                   ` Linus Torvalds
     [not found]                                                   ` <alpine.LFD.2.00.0912161410120.3556@localhost.localdomain>
2009-12-16 22:33                                                     ` Rafael J. Wysocki
2009-12-16 23:04                                                   ` Alan Stern
2009-12-17  1:49                                                   ` Rafael J. Wysocki
2009-12-17 20:06                                                     ` Alan Stern
2009-12-18  1:51                                                     ` Rafael J. Wysocki
     [not found]                                                     ` <200912180251.22655.rjw@sisk.pl>
2009-12-18 17:26                                                       ` Alan Stern
2009-12-18 23:42                                                       ` Rafael J. Wysocki
     [not found]                                           ` <20091216064025.GB2699@core.coreip.homeip.net>
2009-12-18 22:43                                             ` Rafael J. Wysocki [this message]
2009-12-19 19:59                                               ` Dmitry Torokhov
     [not found]                                               ` <20091219195935.GB4073@core.coreip.homeip.net>
2009-12-19 21:33                                                 ` Rafael J. Wysocki
     [not found]                                                 ` <200912192233.44575.rjw@sisk.pl>
2009-12-19 22:29                                                   ` Rafael J. Wysocki
     [not found]                                                   ` <200912192329.03251.rjw@sisk.pl>
2009-12-19 22:43                                                     ` Dmitry Torokhov
2009-12-19 22:47                                                   ` Dmitry Torokhov
     [not found]                                                   ` <A37A0A6F-3662-40C9-BE1F-B9F6A38CD80B@gmail.com>
2009-12-19 23:10                                                     ` Rafael J. Wysocki
     [not found]                                                     ` <200912200010.19899.rjw@sisk.pl>
2009-12-19 23:22                                                       ` Dmitry Torokhov
2009-12-19 23:23                                                       ` Linus Torvalds
     [not found]                                                       ` <43A402BB-6AB3-4127-A441-D53EDE09F22E@gmail.com>
2009-12-19 23:33                                                         ` Rafael J. Wysocki
     [not found]                                                       ` <alpine.LFD.2.00.0912191521180.3712@localhost.localdomain>
2009-12-19 23:40                                                         ` Rafael J. Wysocki
     [not found]                                                         ` <200912200040.18944.rjw@sisk.pl>
2009-12-19 23:46                                                           ` Linus Torvalds
     [not found]                                                           ` <alpine.LFD.2.00.0912191542570.3712@localhost.localdomain>
2009-12-19 23:47                                                             ` Linus Torvalds
2009-12-19 23:53                                                             ` Rafael J. Wysocki
     [not found]                                                             ` <alpine.LFD.2.00.0912191546250.3712@localhost.localdomain>
2009-12-19 23:54                                                               ` Rafael J. Wysocki
     [not found]                                                             ` <200912200053.45988.rjw@sisk.pl>
2009-12-20  0:09                                                               ` Linus Torvalds
     [not found]                                                               ` <alpine.LFD.2.00.0912191557320.3712@localhost.localdomain>
2009-12-20  0:35                                                                 ` Rafael J. Wysocki
2009-12-20  2:41                                                                 ` Dmitry Torokhov
     [not found]                                                                 ` <20091220024142.GC4073@core.coreip.homeip.net>
2009-12-20 19:25                                                                   ` Rafael J. Wysocki
     [not found]                                                                   ` <200912202025.25618.rjw@sisk.pl>
2009-12-21  7:39                                                                     ` Async suspend-resume patch w/ completions (was: Re: Async?suspend-resume " Dmitry Torokhov
     [not found]                                                                     ` <20091221073915.GC3234@core.coreip.homeip.net>
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-13 13:08                         ` Rafael J. Wysocki
2009-12-13 17:30                         ` Alan Stern
     [not found] <alpine.LFD.2.00.0912100739260.3560@localhost.localdomain>
2009-12-10 18:37 ` Alan Stern
     [not found] <Pine.LNX.4.44L0.0912101010090.2825-100000@iolanthe.rowland.org>
2009-12-10 15:45 ` Linus Torvalds
2009-12-10 21:14 ` Rafael J. Wysocki
     [not found] <200912102214.40310.rjw@sisk.pl>
2009-12-10 22:17 ` Alan Stern
     [not found] <Pine.LNX.4.44L0.0912101653120.2680-100000@iolanthe.rowland.org>
2009-12-10 23:45 ` Rafael J. Wysocki
     [not found] <Pine.LNX.4.44L0.0912101321020.2680-100000@iolanthe.rowland.org>
2009-12-10 23:51 ` Linus Torvalds
     [not found] <Pine.LNX.4.44L0.0912102155390.12136-100000@netrider.rowland.org>
2009-12-11 22:17 ` Rafael J. Wysocki
     [not found] <200912112317.31668.rjw@sisk.pl>
2009-12-12  0:38 ` Alan Stern
     [not found] <Pine.LNX.4.44L0.0912111938310.32493-100000@netrider.rowland.org>
2009-12-12 17:35 ` Rafael J. Wysocki
     [not found] <Pine.LNX.4.44L0.0912131221210.1111-100000@netrider.rowland.org>
2009-12-13 19:02 ` Alan Stern
     [not found] <Pine.LNX.4.44L0.0912151047410.3566-100000@iolanthe.rowland.org>
2009-12-15 16:28 ` Linus Torvalds
     [not found] ` <alpine.LFD.2.00.0912150803250.14385@localhost.localdomain>
2009-12-15 18:57   ` Linus Torvalds
2009-12-15 20:26   ` Alan Stern
     [not found] <Pine.LNX.4.44L0.0912151444010.2643-100000@iolanthe.rowland.org>
2009-12-15 21:26 ` Rafael J. Wysocki
2009-12-15 21:54 ` Linus Torvalds
     [not found] <200912152226.22578.rjw@sisk.pl>
2009-12-15 22:01 ` Alan Stern
     [not found] <alpine.LFD.2.00.0912151337350.14385@localhost.localdomain>
2009-12-15 22:27 ` Alan Stern
     [not found] <Pine.LNX.4.44L0.0912161018100.2909-100000@iolanthe.rowland.org>
2009-12-16 19:26 ` Rafael J. Wysocki
     [not found] <Pine.LNX.4.44L0.0912161753540.2643-100000@iolanthe.rowland.org>
2009-12-16 23:18 ` Rafael J. Wysocki
     [not found] ` <200912170018.05175.rjw@sisk.pl>
2009-12-17  1:30   ` Rafael J. Wysocki
     [not found] <Pine.LNX.4.44L0.0912171444040.2645-100000@iolanthe.rowland.org>
2009-12-17 20:36 ` Rafael J. Wysocki
     [not found] <Pine.LNX.4.44L0.0912181205290.2987-100000@iolanthe.rowland.org>
2009-12-19 21:41 ` Rafael J. Wysocki
     [not found] <200912192241.03991.rjw@sisk.pl>
2009-12-20  3:48 ` Alan Stern
     [not found] <Pine.LNX.4.44L0.0912192253200.6618-100000@netrider.rowland.org>
2009-12-20 12:52 ` Rafael J. Wysocki
     [not found] <Pine.LNX.4.44L0.0912192232360.6618-100000@netrider.rowland.org>
2009-12-20 12:55 ` Rafael J. Wysocki
     [not found] <200912201352.07689.rjw@sisk.pl>
2009-12-20 17:12 ` Alan Stern
     [not found] <Pine.LNX.4.44L0.0912201210300.24162-100000@netrider.rowland.org>
2009-12-20 18:10 ` Rafael J. Wysocki
     [not found] <200912201910.26895.rjw@sisk.pl>
2009-12-20 19:38 ` Alan Stern
     [not found] <Pine.LNX.4.44L0.0912201434340.27137-100000@netrider.rowland.org>
2009-12-20 19:51 ` 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=200912182343.29190.rjw@sisk.pl \
    --to=rjw@sisk.pl \
    --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=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