linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Indan Zupancic" <indan@nul.nu>
To: Tejun Heo <htejun@gmail.com>
Cc: Paul Mundt <lethal@linux-sh.org>,
	jeff@garzik.org, linux-ide@vger.kernel.org,
	linux-kernel@vger.kernel.org, garyhade@us.ibm.com
Subject: Re: sd_resume redundant?  [was: [PATCH] libata: implement       ata_wait_after_reset()]
Date: Sun, 20 May 2007 16:27:42 +0200 (CEST)	[thread overview]
Message-ID: <1345.81.207.0.53.1179671262.squirrel@secure.samage.net> (raw)
In-Reply-To: <46501ACF.6020702@gmail.com>

On Sun, May 20, 2007 11:54, Tejun Heo wrote:
> Indan Zupancic wrote:
>> On Sat, May 19, 2007 21:04, Tejun Heo wrote:
>>> Tejun Heo wrote:
>>>> Yeah, if SCR registers are accessible, 0xff doesn't indicate the device
>>>> isn't there, so the whole skip-0xff logic probably shouldn't apply in
>>>> such cases, but we can also achieve pretty good result by just making
>>>> the first reset tries a bit more aggressive.
>>> So, here's the patch.
>>>
>>> Paul, can you please test this patch without the previous patch?  Indan,
>>> this should reduce the resume delay.  Please test.  But you'll still
>>> feel some added delay compared to 2.6.20 due to the mentioned
>>> suspend/resume change.
>>
>> This removed the COMRESET errors indeed, and with sd_resume()
>> disabled everything is speedy again (2s or so. Still a desktop pc).
>> I didn't try with sd_resume enabled.
>
> Can you try to measure with sd_resume in place?

[    2.173366] sd 0:0:0:0: [sda] Starting disk
[    2.475422] ata2: SATA link down (SStatus 0 SControl 310)
[    5.478403] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[    5.481928] ata1.00: ata_hpa_resize 1: sectors = 234441648, hpa_sectors = 234441648
[    5.485904] ata1.00: ata_hpa_resize 1: sectors = 234441648, hpa_sectors = 234441648
[    5.485913] ata1.00: configured for UDMA/100
[    5.505109] sd 0:0:0:0: [sda] 234441648 512-byte hardware sectors (120034 MB)
[    5.505461] sd 0:0:0:0: [sda] Write Protect is off
[    5.505465] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    5.505612] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or
FUA
...
[    6.157259] Restarting tasks ... done.


And with echo 0 > /sys/class/scsi_disk/0\:0\:0\:0/manage_start_stop:

[    2.476476] ata2: SATA link down (SStatus 0 SControl 310)
...
[    2.825479] Restarting tasks ... done.
...
[    5.022076] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[    5.025605] ata1.00: ata_hpa_resize 1: sectors = 234441648, hpa_sectors = 234441648
[    5.028594] ata1.00: ata_hpa_resize 1: sectors = 234441648, hpa_sectors = 234441648
[    5.028606] ata1.00: configured for UDMA/100
[    5.028720] sd 0:0:0:0: [sda] 234441648 512-byte hardware sectors (120034 MB)
[    5.028767] sd 0:0:0:0: [sda] Write Protect is off
[    5.028773] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    5.028831] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or
FUA

So over all it takes half a second longer to detect the disk, but because everything waits on it,
it takes more than three seconds longer to resume.

Setting manage_start_stop to 0 fixes it and is good enough for me, I didn't notice anything bad yet
because of the unmanaged stop. Implementing background spin up will fix it too.


>> Everything seems to work fine without sd_resume(), so why is it needed?
>
> Because not all disks spin up without being told to do so and like it or
> not spinning disks up on resume is the default behavior.  As I wrote in
> the other reply, it would be worthwhile to make it configurable.

Not even after they receive a read command? Ugh.

Greeting,

Indan



  reply	other threads:[~2007-05-20 14:27 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-10  7:20 libata reset-seq merge broke sata_sil on sh Paul Mundt
2007-05-10 11:28 ` Tejun Heo
2007-05-10 11:53   ` Tejun Heo
2007-05-10 12:46   ` Paul Mundt
2007-05-10 13:08     ` Tejun Heo
2007-05-11  0:52       ` Paul Mundt
2007-05-11  9:39         ` Tejun Heo
2007-05-12  3:49           ` Paul Mundt
2007-05-16  0:30             ` Paul Mundt
2007-05-16 16:44               ` [PATCH] libata: implement ata_wait_after_reset() Tejun Heo
2007-05-17  0:50                 ` Paul Mundt
2007-05-17  0:59                 ` Paul Mundt
2007-05-19 15:54                 ` Indan Zupancic
2007-05-19 18:23                   ` Tejun Heo
2007-05-19 22:54                     ` Indan Zupancic
2007-05-20  9:50                       ` Tejun Heo
2007-05-20 13:26                         ` Indan Zupancic
2007-05-20 17:09                           ` Tejun Heo
2007-05-20 19:35                             ` Indan Zupancic
2007-05-19 16:39                 ` Indan Zupancic
2007-05-19 18:43                   ` Tejun Heo
2007-05-19 19:04                     ` Tejun Heo
2007-05-19 22:33                       ` sd_resume redundant? [was: [PATCH] libata: implement ata_wait_after_reset()] Indan Zupancic
2007-05-20  9:54                         ` Tejun Heo
2007-05-20 14:27                           ` Indan Zupancic [this message]
2007-05-20 17:17                             ` Tejun Heo
2007-05-20 19:47                               ` Indan Zupancic
2007-05-21  6:02                       ` [PATCH] libata: implement ata_wait_after_reset() Paul Mundt
2007-05-29  1:31                 ` Jeff Garzik
2007-05-29  7:33                   ` Tejun Heo
     [not found] <fa.M0o+I253i7tt/LF97sml0AM+Gec@ifi.uio.no>
     [not found] ` <fa.j/gDhS9FZwWkX/stLhREkTHNbFs@ifi.uio.no>
     [not found]   ` <fa.EalQUMJMBHX/KTGV2QFQLG6tYus@ifi.uio.no>
     [not found]     ` <fa.Zh3ttZJ9A5tObhEjMLSALUpxCuQ@ifi.uio.no>
     [not found]       ` <fa.tQ9LHpM0TOYAYEug36HHMvEVOO0@ifi.uio.no>
     [not found]         ` <fa.jSmqI/kJPff3zaVtC404yNL5/Qk@ifi.uio.no>
     [not found]           ` <4650891F.80301@shaw.ca>
2007-05-20 18:53             ` sd_resume redundant? [was: [PATCH] libata: implement ata_wait_after_reset()] Randy Dunlap
2007-05-20 22:25               ` Robert Hancock

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=1345.81.207.0.53.1179671262.squirrel@secure.samage.net \
    --to=indan@nul.nu \
    --cc=garyhade@us.ibm.com \
    --cc=htejun@gmail.com \
    --cc=jeff@garzik.org \
    --cc=lethal@linux-sh.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).