All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tejun Heo <htejun@gmail.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>,
	"linux-ide@vger.kernel.org" <linux-ide@vger.kernel.org>,
	Stephan Diestelhorst <stephan.diestelhorst@gmail.com>,
	"linux-pm@lists.osdl.org" <linux-pm@lists.osdl.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Jens Axboe <axboe@kernel.dk>, Christoph Hellwig <hch@lst.de>
Subject: Re: [linux-pm] [PATCH] libata: skip EH autopsy and recovery during suspend
Date: Fri, 03 Sep 2010 10:55:59 +0200	[thread overview]
Message-ID: <4C80B81F.8090803@gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1009021646510.1311-100000@iolanthe.rowland.org>

cc'ing Jens and Christoph and quoting whole body for them.

On 09/02/2010 11:01 PM, Alan Stern wrote:
> On Thu, 2 Sep 2010, Tejun Heo wrote:
> 
>> Hello,
>>
>> On 09/02/2010 10:28 PM, Rafael J. Wysocki wrote:
>>> That would be very nice.  In particular, I'd like to get rid of the
>>> pm_message_t thing if possible.  And I'd like to avoid putting the
>>> controller into D3 before creating hibernation image. :-)
> 
> Ultimately I don't think it will be possible to get rid of pm_message_t
> throughout the entire kernel.  Not just because it's a legacy thing
> spread all over the place, but because it sometimes is genuinely
> useful.  In situations where there are only minimal differences between
> the various suspend/resume paths, it makes a lot of sense to call a
> single function and tell it which type of operation to perform.
> 
>> Oh, yeah, things like that can definitely be changed, but I think it
>> would still need to be piped through EH.  That's how the queue gets
>> quiesced for those special operations and resume is basically probing,
>> so it doesn't make much sense to split them.  Please let me know how
>> it should work from power management POV and I'll be happy to convert
>> libata to fit the new behavior.
> 
> Tejun, I'm planning to make a few changes to the block layer and the
> SCSI core in order to implement delayed autosuspend.  These changes
> will affect system sleep too, so you may need to know about them.
> 
> Each request_queue structure will have an rpm_status variable that gets
> updated as the corresponding device is suspended or resumed.  When the
> status is SUSPENDING or RESUMING, requests will not be sent from the
> request_queue to the driver unless they have cmd_type set to
> REQ_TYPE_PM_SUSPEND or REQ_TYPE_PM_RESUME (actually I may combine those
> two into a single REQ_TYPE_PM type).  If other types of request are
> added to the queue when the status isn't ACTIVE, they will cause a
> runtime resume to be started.
> 
> Initially this will affect only drivers using the SCSI layer.  
> Commands sent during error handling won't be affected though, because
> the SCSI error handler doesn't use requests or queues -- it sends
> commands directly to the lower-level driver.
> 
> Does that all sound okay to you?

Hmm... I can't really tell much without looking at the actual patch
but I'm a bit doubtful about using REQ_TYPE_* for suspend/resumes,
well, for that matter, for any other purpose than actual IO requests.
The current REQ_TYPE_PM_* are only used by ide and it's really messy.

Those special requests are very difficult to use in generic manner.
ie. How should remapping / cloning drivers like md, dm and loopback
handle them?  They end up just being a mechanism for specific low
level drivers to feed certain requests back to themselves to implement
suspend/resume sequence and as there's no clear defined common usage,
the meaning of those flags becomes ambiguous and confusing depending
on drivers and so on.

Another issue is that power management is probably better handled as a
sub problem of generic IO exception handling.  If you throw in
hot[un]plugs and transport errors and consider what should happen when
those events happen together, things get hairy if power management is
not well integrated with the usual exceptionn handling.

Thanks.

-- 
tejun

  parent reply	other threads:[~2010-09-03  8:56 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-09 15:50 HDD not suspending properly / dead on resume Stephan Diestelhorst
2010-07-09 15:50 ` Stephan Diestelhorst
2010-07-09 21:47 ` Stephan Diestelhorst
2010-07-09 21:53   ` Rafael J. Wysocki
2010-07-09 23:04     ` Stephan Diestelhorst
2010-07-10  0:06       ` Rafael J. Wysocki
2010-07-10  6:50         ` Stephan Diestelhorst
2010-07-10 10:03           ` Tejun Heo
2010-07-10 13:45             ` Rafael J. Wysocki
2010-07-28 21:50             ` [PATCH] SATA / AHCI: Do not play with the link PM during suspend to RAM (was: Re: HDD not suspending properly / dead on resume) Rafael J. Wysocki
2010-07-30 14:18               ` [PATCH] SATA / AHCI: Do not play with the link PM during suspend to RAM Tejun Heo
2010-08-05 16:08                 ` Tejun Heo
2010-08-05 19:58                   ` Rafael J. Wysocki
2010-08-06  6:30                   ` Stephan Diestelhorst
2010-08-06  7:06                     ` Tejun Heo
2010-08-06  9:04                       ` Stephan Diestelhorst
2010-08-17  7:51                   ` Stephan Diestelhorst
2010-08-17  8:08                     ` Tejun Heo
2010-08-17  9:32                       ` Stephan Diestelhorst
2010-08-17 10:15                         ` Tejun Heo
2010-08-17 10:29                           ` Stephan Diestelhorst
2010-08-17 10:51                             ` Stephan Diestelhorst
2010-08-17 15:04                               ` Tejun Heo
2010-08-17 21:28                                 ` Stephan Diestelhorst
2010-08-18  6:12                                   ` Tejun Heo
2010-08-19 16:23                                     ` Stephan Diestelhorst
2010-08-23 12:03                                       ` Tejun Heo
2010-08-23 18:58                                         ` Rafael J. Wysocki
2010-08-24  7:37                                           ` Tejun Heo
2010-08-24 20:39                                             ` Rafael J. Wysocki
2010-08-26 23:09                                               ` Rafael J. Wysocki
2010-08-26 23:46                                                 ` Rafael J. Wysocki
2010-09-02  9:06                                                 ` Tejun Heo
2010-09-02 10:02                                                   ` [PATCH] libata: skip EH autopsy and recovery during suspend Tejun Heo
2010-09-02 14:33                                                     ` Stephan Diestelhorst
2010-09-02 14:33                                                       ` Stephan Diestelhorst
2010-09-02 20:11                                                       ` Rafael J. Wysocki
2010-09-02 20:52                                                       ` Stephan Diestelhorst
2010-09-07 11:54                                                         ` Stephan Diestelhorst
2010-09-02 20:16                                                     ` Rafael J. Wysocki
2010-09-02 20:25                                                       ` Tejun Heo
2010-09-02 20:28                                                         ` Rafael J. Wysocki
2010-09-02 20:33                                                           ` Tejun Heo
2010-09-02 21:01                                                             ` [linux-pm] " Alan Stern
2010-09-02 21:09                                                               ` Rafael J. Wysocki
2010-09-02 21:09                                                                 ` [linux-pm] " Rafael J. Wysocki
2010-09-03  8:55                                                               ` Tejun Heo [this message]
2010-09-03 14:16                                                                 ` Alan Stern
2010-09-07 12:05                                                   ` [PATCH #upstream-fixes] " Tejun Heo
2010-08-24 16:07                                         ` [PATCH] SATA / AHCI: Do not play with the link PM during suspend to RAM Stephan Diestelhorst
2010-08-24 16:11                                           ` Stephan Diestelhorst
2010-08-26 16:15                                             ` Stephan Diestelhorst
2010-08-26 18:24                                               ` Rafael J. Wysocki
2010-08-27 23:35                                                 ` Rafael J. Wysocki
2010-09-02 14:31                                                   ` Stephan Diestelhorst
2010-09-02 14:31                                                     ` Stephan Diestelhorst
2010-08-17 11:19                           ` Rafael J. Wysocki
2010-08-17 11:29                             ` Tejun Heo
2010-08-17 12:10                               ` Stephan Diestelhorst
2010-08-17 12:09                                 ` Tejun Heo
2010-08-02 20:48               ` [PATCH] SATA / AHCI: Do not play with the link PM during suspend to RAM (was: Re: HDD not suspending properly / dead on resume) Stephan Diestelhorst
2010-08-02 21:38                 ` Rafael J. Wysocki
2010-08-03  8:36                   ` Stephan Diestelhorst
2010-08-03 21:13                     ` Rafael J. Wysocki
2010-07-10 13:08           ` HDD not suspending properly / dead on resume Rafael J. Wysocki
2010-07-12 15:35 ` Maciej Rutecki

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=4C80B81F.8090803@gmail.com \
    --to=htejun@gmail.com \
    --cc=axboe@kernel.dk \
    --cc=hch@lst.de \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@lists.osdl.org \
    --cc=rjw@sisk.pl \
    --cc=stephan.diestelhorst@amd.com \
    --cc=stephan.diestelhorst@gmail.com \
    --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 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.