* [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
[parent not found: <Pine.LNX.4.44L0.1107220951280.1923-100000@iolanthe.rowland.org>]
* 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
[parent not found: <4E299C4A.6060802@draigBrady.com>]
* 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
[parent not found: <4E29B5A8.4030204@interlog.com>]
* 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