From: Jeff Garzik <jgarzik@pobox.com>
To: Joshua Kwan <joshk@triplehelix.org>
Cc: linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org,
linux-scsi@vger.kernel.org, axboe@suse.de, torvalds@osdl.org,
randy_dunlap <rdunlap@xenotime.net>
Subject: SATA suspend/resume (was Re: [PATCH] updated version of Jens' SATA suspend-to-ram patch)
Date: Thu, 29 Sep 2005 01:21:28 -0400 [thread overview]
Message-ID: <433B79D8.9080305@pobox.com> (raw)
In-Reply-To: <20050923163334.GA13567@triplehelix.org>
Joshua Kwan wrote:
> Hello,
>
> I had some time yesterday and decided to help Jens out by rediffing the
> now-infamous SATA suspend-to-ram patch [1] against current git and
> test-building it.
>
> For posterity,
>
> This patch adds the ata_scsi_device_resume and ata_scsi_device_suspend
> functions (along with helpers) to put to sleep and wake up Serial ATA
> controllers when entering sleep states, and hooks the functions into
> each SATA controller driver so that suspend-to-RAM is possible.
>
> Note that this patch is a holdover patch until it is possible to
> generalize this concept for all SCSI devices, which requires more data
> on which devices need to be put to sleep and which don't.
>
> Signed-off-by: Joshua Kwan <joshk@triplehelix.org>
Ah hah! I found the other SCSI suspend patch:
http://lwn.net/Articles/97453/
Anybody (Joshua?) up for reconciling and testing the two?
The main change from Jens/Joshua's patch is that we use SCSI's
sd_shutdown() to call sync cache, eliminating the need for
ata_flush_cache(), since the SCSI layer would now perform that.
For bonus points,
1) sd should call START STOP UNIT on suspend, which eliminates the need
for ata_standby_drive(), and completely encompasses the suspend process
in the SCSI layer.
2) sd should call START STOP UNIT on resume -- and as a SUPER BONUS, the
combination of these two changes ensures that there are no queue
synchronization issues, the likes of which would require hacks like
Jens' while-loop patch.
None of these are huge changes requiring a lot of thinking/planning...
Finally, ideally, we should be issuing a hardware or software reset on
suspend.
Jeff
next prev parent reply other threads:[~2005-09-29 5:21 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-23 16:33 [PATCH] updated version of Jens' SATA suspend-to-ram patch Joshua Kwan
2005-09-23 18:07 ` Jens Axboe
2005-09-23 20:23 ` Linus Torvalds
2005-09-23 20:47 ` Jeff Garzik
2005-09-23 21:11 ` Mark Lord
2005-09-23 21:21 ` Joshua Kwan
2005-09-24 7:07 ` Jens Axboe
2005-09-29 5:21 ` Jeff Garzik [this message]
2005-09-29 7:34 ` SATA suspend/resume (was Re: [PATCH] updated version of Jens' SATA suspend-to-ram patch) Christoph Hellwig
2005-09-29 8:11 ` Christoph Hellwig
2005-09-29 20:13 ` Randy.Dunlap
2005-09-29 21:48 ` Randy.Dunlap
2005-10-01 18:24 ` Mark Lord
2005-10-01 18:39 ` Randy.Dunlap
-- strict thread matches above, loose matches on Subject: below --
2005-09-29 14:26 James.Smart
2005-09-29 14:26 ` James.Smart
2005-09-29 15:56 ` Stefan Richter
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=433B79D8.9080305@pobox.com \
--to=jgarzik@pobox.com \
--cc=axboe@suse.de \
--cc=joshk@triplehelix.org \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=rdunlap@xenotime.net \
--cc=torvalds@osdl.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 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.