public inbox for linux-pm@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC] Disable disk spinup during system resume
@ 2011-07-20 23:42 Pádraig Brady
  2011-07-21 14:49 ` Alan Stern
  0 siblings, 1 reply; 9+ messages in thread
From: Pádraig Brady @ 2011-07-20 23:42 UTC (permalink / raw)
  To: linux-pm

Hi,

I have a secondary sata disk (sda)  in my system that
I would like not to spinup on resume.
The primary disk is an SSD.

I tried this to no avail:

  echo 0 > /sys/block/sda/device/scsi_disk/*/manage_start_stop

I can "manually" run this after each resume, but it
introduces ware and delays I would like to avoid.

  sdparm -r -C STOP /dev/sda

Note all partitions on the disk are "noauto" in fstab,
and I would have thought the kernel wouldn't need
to BLKRRPART on resume?

Any ideas appreciated.

cheers,
Pádraig.
_______________________________________________
linux-pm mailing list
linux-pm@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [RFC] Disable disk spinup during system resume
  2011-07-20 23:42 [RFC] Disable disk spinup during system resume Pádraig Brady
@ 2011-07-21 14:49 ` Alan Stern
  2011-07-21 16:18   ` Pádraig Brady
  0 siblings, 1 reply; 9+ messages in thread
From: Alan Stern @ 2011-07-21 14:49 UTC (permalink / raw)
  To: Pádraig Brady; +Cc: linux-pm

On Thu, 21 Jul 2011, Pádraig Brady wrote:

> Hi,
> 
> I have a secondary sata disk (sda)  in my system that
> I would like not to spinup on resume.
> The primary disk is an SSD.
> 
> I tried this to no avail:
> 
>   echo 0 > /sys/block/sda/device/scsi_disk/*/manage_start_stop

That should have worked.  It prevents sd_resume() from doing anything 
to the drive.

Are you sure that the kernel is responsible for spinning up the drive?  
Maybe you have a program running in the background that does this 
automatically.

> I can "manually" run this after each resume, but it
> introduces ware and delays I would like to avoid.
> 
>   sdparm -r -C STOP /dev/sda
> 
> Note all partitions on the disk are "noauto" in fstab,
> and I would have thought the kernel wouldn't need
> to BLKRRPART on resume?
> 
> Any ideas appreciated.

Try adding a dump_stack() line to 
drivers/scsi/sd.c:sd_start_stop_device() and see what shows up in the 
kernel log.

Alan Stern

_______________________________________________
linux-pm mailing list
linux-pm@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [RFC] Disable disk spinup during system resume
  2011-07-21 14:49 ` Alan Stern
@ 2011-07-21 16:18   ` Pádraig Brady
  2011-07-21 16:49     ` Alan Stern
  0 siblings, 1 reply; 9+ messages in thread
From: Pádraig Brady @ 2011-07-21 16:18 UTC (permalink / raw)
  To: Alan Stern; +Cc: linux-pm

On 21/07/11 15:49, Alan Stern wrote:
> On Thu, 21 Jul 2011, Pádraig Brady wrote:
> 
>> Hi,
>>
>> I have a secondary sata disk (sda)  in my system that
>> I would like not to spinup on resume.


>> I tried this to no avail:
>>
>>   echo 0 > /sys/block/sda/device/scsi_disk/*/manage_start_stop


> Try adding a dump_stack() line to 
> drivers/scsi/sd.c:sd_start_stop_device() and see what shows up in the 
> kernel log.

Tried that, and nothing is calling it for sda
(There were calls for sdb of course).
So it seems like something lower level :(
I'll keep digging.

cheers,
Pádraig.
_______________________________________________
linux-pm mailing list
linux-pm@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [RFC] Disable disk spinup during system resume
  2011-07-21 16:18   ` Pádraig Brady
@ 2011-07-21 16:49     ` Alan Stern
  2011-07-22  9:04       ` Pádraig Brady
  0 siblings, 1 reply; 9+ messages in thread
From: Alan Stern @ 2011-07-21 16:49 UTC (permalink / raw)
  To: Pádraig Brady; +Cc: linux-pm

On Thu, 21 Jul 2011, Pádraig Brady wrote:

> On 21/07/11 15:49, Alan Stern wrote:
> > On Thu, 21 Jul 2011, Pádraig Brady wrote:
> > 
> >> Hi,
> >>
> >> I have a secondary sata disk (sda)  in my system that
> >> I would like not to spinup on resume.
> 
> 
> >> I tried this to no avail:
> >>
> >>   echo 0 > /sys/block/sda/device/scsi_disk/*/manage_start_stop
> 
> 
> > Try adding a dump_stack() line to 
> > drivers/scsi/sd.c:sd_start_stop_device() and see what shows up in the 
> > kernel log.
> 
> Tried that, and nothing is calling it for sda
> (There were calls for sdb of course).
> So it seems like something lower level :(

Not at all -- nothing at a lower level generates SCSI commands.  This
means it is something at a higher level, like a program using SG_IO to
pass the START STOP command to the drive directly.

> I'll keep digging.

What happens if you kill all the running processes (or as many as 
possible) before starting the suspend?

Also, how do you initiate the suspend?  Do you use a program, or do you 
simply "echo mem >/sys/power/state"?

Alan Stern

_______________________________________________
linux-pm mailing list
linux-pm@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [RFC] Disable disk spinup during system resume
  2011-07-21 16:49     ` Alan Stern
@ 2011-07-22  9:04       ` Pádraig Brady
  2011-07-22 14:05         ` Alan Stern
  0 siblings, 1 reply; 9+ messages in thread
From: Pádraig Brady @ 2011-07-22  9:04 UTC (permalink / raw)
  To: Alan Stern; +Cc: linux-pm

On 21/07/11 17:49, Alan Stern wrote:
> On Thu, 21 Jul 2011, Pádraig Brady wrote:
> 
>> On 21/07/11 15:49, Alan Stern wrote:
>>> On Thu, 21 Jul 2011, Pádraig Brady wrote:
>>>
>>>> Hi,
>>>>
>>>> I have a secondary sata disk (sda)  in my system that
>>>> I would like not to spinup on resume.
>>
>>

> What happens if you kill all the running processes (or as many as 
> possible) before starting the suspend?
> 
> Also, how do you initiate the suspend?  Do you use a program, or do you 
> simply "echo mem >/sys/power/state"?

I just rebooted with init=/bin/sh and did

sdparm -r -C STOP /dev/sda
echo 0 > /sys/block/sda/device/scsi_disk/*/manage_start_stop
echo mem > /sys/power/state

When I hit the power button to resume
sda started spinning again :(
There kernel logs about sata ports starting up.
Maybe I need to put the drive into a different
sleep state or something to stop it starting.

cheers,
Pádraig.
_______________________________________________
linux-pm mailing list
linux-pm@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [RFC] Disable disk spinup during system resume
  2011-07-22  9:04       ` Pádraig Brady
@ 2011-07-22 14:05         ` Alan Stern
  0 siblings, 0 replies; 9+ messages in thread
From: Alan Stern @ 2011-07-22 14:05 UTC (permalink / raw)
  To: Pádraig Brady; +Cc: Linux-pm mailing list, SCSI development list

On Fri, 22 Jul 2011, Pádraig Brady wrote:

> On 21/07/11 17:49, Alan Stern wrote:
> > On Thu, 21 Jul 2011, Pádraig Brady wrote:
> > 
> >> On 21/07/11 15:49, Alan Stern wrote:
> >>> On Thu, 21 Jul 2011, Pádraig Brady wrote:
> >>>
> >>>> Hi,
> >>>>
> >>>> I have a secondary sata disk (sda)  in my system that
> >>>> I would like not to spinup on resume.
> >>
> >>
> 
> > What happens if you kill all the running processes (or as many as 
> > possible) before starting the suspend?
> > 
> > Also, how do you initiate the suspend?  Do you use a program, or do you 
> > simply "echo mem >/sys/power/state"?
> 
> I just rebooted with init=/bin/sh and did
> 
> sdparm -r -C STOP /dev/sda
> echo 0 > /sys/block/sda/device/scsi_disk/*/manage_start_stop
> echo mem > /sys/power/state
> 
> When I hit the power button to resume
> sda started spinning again :(

I have no idea why.  Unless maybe the BIOS started the drive.

Here's another test you can try.  Before starting the suspend, make 
sure no filesystems are mounted on sda and do:

	echo scsi remove-single-device 0 0 0 0 >/proc/scsi/scsi

(replace the "0 0 0 0" with the appropriate Host, Channel, ID, and LUN 
values for your sda drive).  This will erase all knowledge of that 
drive from the kernel.  If it still spins up during resume, you can be 
sure the kernel isn't responsible.

> There kernel logs about sata ports starting up.
> Maybe I need to put the drive into a different
> sleep state or something to stop it starting.

I really don't know what's going on.  Maybe somebody on the linux-scsi
mailing list can explain this.

Alan Stern

_______________________________________________
linux-pm mailing list
linux-pm@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [RFC] Disable disk spinup during system resume
       [not found] <Pine.LNX.4.44L0.1107220951280.1923-100000@iolanthe.rowland.org>
@ 2011-07-22 15:50 ` Pádraig Brady
       [not found] ` <4E299C4A.6060802@draigBrady.com>
  1 sibling, 0 replies; 9+ messages in thread
From: Pádraig Brady @ 2011-07-22 15:50 UTC (permalink / raw)
  To: Alan Stern; +Cc: Linux-pm mailing list, SCSI development list

On 22/07/11 15:05, Alan Stern wrote:
> On Fri, 22 Jul 2011, Pádraig Brady wrote:
> 
>> On 21/07/11 17:49, Alan Stern wrote:
>>> On Thu, 21 Jul 2011, Pádraig Brady wrote:
>>>
>>>> On 21/07/11 15:49, Alan Stern wrote:
>>>>> On Thu, 21 Jul 2011, Pádraig Brady wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I have a secondary sata disk (sda)  in my system that
>>>>>> I would like not to spinup on resume.
>>>>
>>>>
>>
>>> What happens if you kill all the running processes (or as many as 
>>> possible) before starting the suspend?
>>>
>>> Also, how do you initiate the suspend?  Do you use a program, or do you 
>>> simply "echo mem >/sys/power/state"?
>>
>> I just rebooted with init=/bin/sh and did
>>
>> sdparm -r -C STOP /dev/sda
>> echo 0 > /sys/block/sda/device/scsi_disk/*/manage_start_stop
>> echo mem > /sys/power/state
>>
>> When I hit the power button to resume
>> sda started spinning again :(
> 
> I have no idea why.  Unless maybe the BIOS started the drive.
> 
> Here's another test you can try.  Before starting the suspend, make 
> sure no filesystems are mounted on sda and do:
> 
> 	echo scsi remove-single-device 0 0 0 0 >/proc/scsi/scsi
> 
> (replace the "0 0 0 0" with the appropriate Host, Channel, ID, and LUN 
> values for your sda drive).  This will erase all knowledge of that 
> drive from the kernel.  If it still spins up during resume, you can be 
> sure the kernel isn't responsible.

drive still spins up on resume.

cheers,
Pádraig.
_______________________________________________
linux-pm mailing list
linux-pm@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [RFC] Disable disk spinup during system resume
       [not found] ` <4E299C4A.6060802@draigBrady.com>
@ 2011-07-22 17:38   ` Douglas Gilbert
       [not found]   ` <4E29B5A8.4030204@interlog.com>
  1 sibling, 0 replies; 9+ messages in thread
From: Douglas Gilbert @ 2011-07-22 17:38 UTC (permalink / raw)
  To: Pádraig Brady; +Cc: Linux-pm mailing list, SCSI development list

On 11-07-22 11:50 AM, Pádraig Brady wrote:
> On 22/07/11 15:05, Alan Stern wrote:
>> On Fri, 22 Jul 2011, Pádraig Brady wrote:
>>
>>> On 21/07/11 17:49, Alan Stern wrote:
>>>> On Thu, 21 Jul 2011, Pádraig Brady wrote:
>>>>
>>>>> On 21/07/11 15:49, Alan Stern wrote:
>>>>>> On Thu, 21 Jul 2011, Pádraig Brady wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I have a secondary sata disk (sda)  in my system that
>>>>>>> I would like not to spinup on resume.
>>>>>
>>>>>
>>>
>>>> What happens if you kill all the running processes (or as many as
>>>> possible) before starting the suspend?
>>>>
>>>> Also, how do you initiate the suspend?  Do you use a program, or do you
>>>> simply "echo mem>/sys/power/state"?
>>>
>>> I just rebooted with init=/bin/sh and did
>>>
>>> sdparm -r -C STOP /dev/sda
>>> echo 0>  /sys/block/sda/device/scsi_disk/*/manage_start_stop
>>> echo mem>  /sys/power/state
>>>
>>> When I hit the power button to resume
>>> sda started spinning again :(
>>
>> I have no idea why.  Unless maybe the BIOS started the drive.
>>
>> Here's another test you can try.  Before starting the suspend, make
>> sure no filesystems are mounted on sda and do:
>>
>> 	echo scsi remove-single-device 0 0 0 0>/proc/scsi/scsi
>>
>> (replace the "0 0 0 0" with the appropriate Host, Channel, ID, and LUN
>> values for your sda drive).  This will erase all knowledge of that
>> drive from the kernel.  If it still spins up during resume, you can be
>> sure the kernel isn't responsible.
>
> drive still spins up on resume.

Did the disk (/dev/sda) spin down after
    sdparm -r -C STOP /dev/sda
? I'm guessing that neither the root file system nor swap
are located on /dev/sda ?

Doug Gilbert
_______________________________________________
linux-pm mailing list
linux-pm@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [RFC] Disable disk spinup during system resume
       [not found]   ` <4E29B5A8.4030204@interlog.com>
@ 2011-07-22 18:03     ` Pádraig Brady
  0 siblings, 0 replies; 9+ messages in thread
From: Pádraig Brady @ 2011-07-22 18:03 UTC (permalink / raw)
  To: dgilbert; +Cc: Linux-pm mailing list, SCSI development list

On 22/07/11 18:38, Douglas Gilbert wrote:
> On 11-07-22 11:50 AM, Pádraig Brady wrote:
>> On 22/07/11 15:05, Alan Stern wrote:
>>> On Fri, 22 Jul 2011, Pádraig Brady wrote:
>>>
>>>> On 21/07/11 17:49, Alan Stern wrote:
>>>>> On Thu, 21 Jul 2011, Pádraig Brady wrote:
>>>>>
>>>>>> On 21/07/11 15:49, Alan Stern wrote:
>>>>>>> On Thu, 21 Jul 2011, Pádraig Brady wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I have a secondary sata disk (sda)  in my system that
>>>>>>>> I would like not to spinup on resume.
>>>>>>
>>>>>>
>>>>
>>>>> What happens if you kill all the running processes (or as many as
>>>>> possible) before starting the suspend?
>>>>>
>>>>> Also, how do you initiate the suspend?  Do you use a program, or do
>>>>> you
>>>>> simply "echo mem>/sys/power/state"?
>>>>
>>>> I just rebooted with init=/bin/sh and did
>>>>
>>>> sdparm -r -C STOP /dev/sda
>>>> echo 0>  /sys/block/sda/device/scsi_disk/*/manage_start_stop
>>>> echo mem>  /sys/power/state
>>>>
>>>> When I hit the power button to resume
>>>> sda started spinning again :(
>>>
>>> I have no idea why.  Unless maybe the BIOS started the drive.
>>>
>>> Here's another test you can try.  Before starting the suspend, make
>>> sure no filesystems are mounted on sda and do:
>>>
>>>     echo scsi remove-single-device 0 0 0 0>/proc/scsi/scsi
>>>
>>> (replace the "0 0 0 0" with the appropriate Host, Channel, ID, and LUN
>>> values for your sda drive).  This will erase all knowledge of that
>>> drive from the kernel.  If it still spins up during resume, you can be
>>> sure the kernel isn't responsible.
>>
>> drive still spins up on resume.
> 
> Did the disk (/dev/sda) spin down after
>    sdparm -r -C STOP /dev/sda

y

> ? I'm guessing that neither the root file system nor swap
> are located on /dev/sda ?

correct

I now notice the `hdparm -s` option which might be applicable:

"Enable/disable the power-on in standby feature,
 if supported by the drive. VERY DANGEROUS"

Now I'm wary of enabling that because I do need
the drive enabled on first boot as the bios in this
dell laptop can only boot from a disk in this sata slot.
(I unmount and spin down after boot).

Seems like I might be left doing a spinup and spindown
at each resume.

cheers,
Pâdraig.
_______________________________________________
linux-pm mailing list
linux-pm@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2011-07-22 18:03 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-20 23:42 [RFC] Disable disk spinup during system resume Pádraig Brady
2011-07-21 14:49 ` Alan Stern
2011-07-21 16:18   ` Pádraig Brady
2011-07-21 16:49     ` Alan Stern
2011-07-22  9:04       ` Pádraig Brady
2011-07-22 14:05         ` Alan Stern
     [not found] <Pine.LNX.4.44L0.1107220951280.1923-100000@iolanthe.rowland.org>
2011-07-22 15:50 ` Pádraig Brady
     [not found] ` <4E299C4A.6060802@draigBrady.com>
2011-07-22 17:38   ` Douglas Gilbert
     [not found]   ` <4E29B5A8.4030204@interlog.com>
2011-07-22 18:03     ` Pádraig Brady

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox