From: Aaron Lu <aaron.lwe@gmail.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Oliver Neukum <oneukum@suse.de>,
James Bottomley <James.Bottomley@hansenpartnership.com>,
Jeff Garzik <jgarzik@pobox.com>,
linux-scsi@vger.kernel.org, linux-ide@vger.kernel.org,
linux-pm@vger.kernel.org, linux-acpi@vger.kernel.org,
Aaron Lu <aaron.lu@intel.com>
Subject: Re: [PATCH v6 1/7] scsi: sr: support runtime pm for ODD
Date: Thu, 6 Sep 2012 06:49:13 +0800 [thread overview]
Message-ID: <20120905224912.GA1443@localhost.localdomain> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1209051154400.1837-100000@iolanthe.rowland.org>
On Wed, Sep 05, 2012 at 12:08:25PM -0400, Alan Stern wrote:
> On Wed, 5 Sep 2012, Aaron Lu wrote:
>
> > > > > That flag is badly named. Something like "insert_event_during_suspend"
> > > > > would be better.
> >
> > This flag means, the reason the device gets runtime resumed is due to
> > user as described by the above situation 2, not by software(e.g. by
> > sr_check_events).
> >
> > I don't quite understand insert_event_during_suspend mean here...
>
> It means: An insert event occurred while the device was suspended.
Thanks, I got it now.
>
> > > > > And even so I don't see why you wouldn't
> > > > > want to suspend for example a drive with an inserted but unopened disk.
> > > >
> > > > I assume that Aaron wanted to handle the easiest case first. Adding
> > > > suspend/resume handling to the open/close routines can be done later.
> > >
> > > Sure, but this patch blocks that in contrast to just not implementing it.
> >
> > It's already implemented. I did it in scsi_cd_get/put.
> >
> > And the reason I didn't allow runtime suspend for medium inside and door
> > closed case are:
> > 1 ZPODD has a spec and it didn't allow that;
>
> In theory we should allow runtime suspend in this case too, but leave
> the power on. (Although in practice, turning the power off would
> probably work even though it may violate the spec.)
>
Agree. But it's not easy to implement with autosuspend.
Please see below.
> > 2 It's not easy to implement. Imagine user just inserts a disc, and the
> > sr_suspend routine checks that door is closed so that it wants to
> > suspend the device. But actually, after user just inserts a disc, he
> > definitely wants to use the device, so it's not a good thing to do. And
> > if ZPODD is used, the device will be powered off instantly when the door
> > is closed, this is not good.
>
> That's why we have an autosuspend delay. Although for some reason the
> SCSI subsystem doesn't use it currently... We need to add a call to
> pm_runtime_use_autosuspend() in scsi_sysfs_add_sdev(). Likewise, the
> pm_schedule_suspend() call in scsi_runtime_idle() should be changed to
> pm_runtime_autosuspend(). And there should be calls to
> pm_runtime_set_autosuspend_delay() in the sd and sr drivers.
I tried to use autosuspend when preparing the patch, but the fact that
the devices will be polled every 2 seconds make it impossible to enter
suspend state if the autosuspend delay is larger than that.
-Aaron
next prev parent reply other threads:[~2012-09-05 22:49 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-04 14:24 [PATCH v6 0/7] ZPODD patches Aaron Lu
2012-09-04 14:24 ` [PATCH v6 1/7] scsi: sr: support runtime pm for ODD Aaron Lu
2012-09-04 15:57 ` Oliver Neukum
2012-09-04 17:59 ` Alan Stern
2012-09-04 18:47 ` Oliver Neukum
2012-09-05 15:22 ` Aaron Lu
2012-09-05 16:08 ` Alan Stern
2012-09-05 22:49 ` Aaron Lu [this message]
2012-09-06 15:06 ` Alan Stern
2012-09-06 15:25 ` Oliver Neukum
2012-09-06 17:08 ` Alan Stern
2012-09-06 18:06 ` Oliver Neukum
2012-09-06 18:50 ` Alan Stern
2012-09-10 9:16 ` Aaron Lu
2012-09-10 10:45 ` Oliver Neukum
2012-09-11 6:44 ` Aaron Lu
2012-09-11 8:55 ` Oliver Neukum
2012-09-11 9:24 ` Aaron Lu
2012-09-11 9:30 ` Oliver Neukum
2012-09-11 11:11 ` Aaron Lu
2012-09-11 12:10 ` Oliver Neukum
2012-09-11 12:31 ` Aaron Lu
2012-09-11 12:35 ` Oliver Neukum
2012-09-11 12:13 ` Aaron Lu
2012-09-07 14:53 ` Aaron Lu
2012-09-07 15:41 ` Alan Stern
2012-09-05 18:06 ` Oliver Neukum
2012-09-06 5:55 ` Aaron Lu
2012-09-06 5:17 ` Aaron Lu
2012-09-04 14:24 ` [PATCH v6 2/7] block: genhd: export disk_(un)block_events Aaron Lu
2012-09-04 14:24 ` [PATCH v6 3/7] scsi: sr: block events checking when suspended for zpodd Aaron Lu
2012-09-04 14:24 ` [PATCH v6 4/7] libata: acpi: set can_power_off for both ODD and HD Aaron Lu
2012-09-07 2:37 ` Jeff Garzik
2012-09-04 14:24 ` [PATCH v6 5/7] scsi: pm: add may_power_off flag Aaron Lu
2012-09-04 16:01 ` Oliver Neukum
2012-09-06 1:52 ` Aaron Lu
2012-09-04 14:24 ` [PATCH v6 6/7] scsi: sr: use may_power_off Aaron Lu
2012-09-04 14:24 ` [PATCH v6 7/7] libata: acpi: respect may_power_off flag Aaron Lu
2012-09-07 2:38 ` Jeff Garzik
2012-09-13 2:42 ` [PATCH v6 0/7] ZPODD patches Jack Wang
2012-09-13 3:20 ` Aaron Lu
2012-09-13 8:15 ` Jack Wang
2012-09-13 8:30 ` Aaron Lu
2012-09-13 8:39 ` Jack Wang
2012-09-13 8:56 ` Aaron Lu
2012-09-13 9:01 ` James Bottomley
2012-09-13 9:12 ` Jack Wang
2012-09-13 9:19 ` [PATCH " Aaron Lu
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=20120905224912.GA1443@localhost.localdomain \
--to=aaron.lwe@gmail.com \
--cc=James.Bottomley@hansenpartnership.com \
--cc=aaron.lu@intel.com \
--cc=jgarzik@pobox.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-ide@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=oneukum@suse.de \
--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.