* [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