mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Zhang Rui <rui.zhang@intel.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	linux-pm <linux-pm@lists.linux-foundation.org>,
	linux-acpi <linux-acpi@vger.kernel.org>,
	Pavel Machek <pavel@ucw.cz>, Len Brown <lenb@kernel.org>,
	Arjan van de Ven <arjan@linux.intel.com>,
	"dtor@mail.ru" <dtor@mail.ru>
Subject: Re: [PATCH V2 0/4] introduce device async actions mechanism
Date: Wed, 05 Aug 2009 09:47:31 +0800	[thread overview]
Message-ID: <1249436851.2670.422.camel@rzhang-dt> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0908041330040.3102-100000@iolanthe.rowland.org>

On Wed, 2009-08-05 at 01:33 +0800, Alan Stern wrote:
> On Tue, 4 Aug 2009, Rafael J. Wysocki wrote:
> 
> > Not only that.  I'd like to simplify the design, because IMO using one async
> > domain would be much more straightforward than using multiple ones.
> 
> > If I understand the async framework correctly, the domains are only used for
> > synchronization, ie. if you want to wait for a group of async operations to
> > complete, you can put them all into one domain and then call
> > async_synchronize_full_domain() to wait for them all together.
> > 
> > You don't need multiple domains to run multiple things in parallel.
> 
> There's a basic confusion going on here.
> 
> Rui is using "async domain" to mean a collection of devices which 
> will be suspended or resumed serially.  Different domains run in 
> parallel.
> 
> Rafael is using "async domain" to mean a collection of devices which 
> will be suspended or resumed in parallel.  Different domains run 
> serially.
> 
cool, thanks for stating the confusion so clearly, Alan. :)

Hi, Rafael,

maybe there is still some confusions about my proposal.

I re-read kernel/async.c file, and notice that Arjan calls the domain as
*_synchronization_* domain. sorry I use the wrong word before.

And I use the synchronization domains just to keep devices dependency.

First, the general idea is to suspend/resume those slow devices in
parallel. So we don't suspend/resume them synchronously, instead, we
move these actions to the global domain.

Then, I found that these actions can not be run asynchronously because
they depend on other devices.
For example, sd depends on SATA controller, we should make sure the PM
callbacks of sd and ahci sata controller are run serially. so a
synchronization domain is created for them.
This is how multiple synchronization domains come from in this proposal.

thanks,
rui

> Once that is cleared up, you should be able to communicate a little 
> better...  :-)
> 
> Alan Stern
> 


  parent reply	other threads:[~2009-08-05  1:48 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-24  3:01 Zhang Rui
2009-08-03 21:18 ` Rafael J. Wysocki
2009-08-04  3:35   ` Zhang Rui
2009-08-04 16:21     ` Rafael J. Wysocki
2009-08-04 17:33       ` Alan Stern
2009-08-04 18:44         ` Rafael J. Wysocki
2009-08-05  1:47         ` Zhang Rui [this message]
2009-08-07 23:42           ` Rafael J. Wysocki
2009-08-05  2:24       ` Zhang Rui
2009-08-08  0:22         ` Rafael J. Wysocki
2009-08-08  0:29           ` Dmitry Torokhov
2009-08-08 12:53             ` Rafael J. Wysocki
2009-08-11  6:22           ` Zhang Rui
2009-08-11 15:34             ` Rafael J. Wysocki
2009-08-11 15:53               ` Alan Stern
2009-08-11 18:12                 ` Rafael J. Wysocki
2009-08-11 18:59                   ` Alan Stern
2009-08-11 23:17                     ` Rafael J. Wysocki
2009-08-12 14:03                       ` Alan Stern
2009-08-12 20:10                         ` Rafael J. Wysocki
2009-08-12 20:34                           ` Alan Stern
2009-08-12 21:18                             ` Rafael J. Wysocki
2009-08-13 14:30                               ` Alan Stern
2009-08-13 17:53                                 ` 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=1249436851.2670.422.camel@rzhang-dt \
    --to=rui.zhang@intel.com \
    --cc=arjan@linux.intel.com \
    --cc=dtor@mail.ru \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=pavel@ucw.cz \
    --cc=rjw@sisk.pl \
    --cc=stern@rowland.harvard.edu \
    /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

all inboxes | Powered by JetHome®