All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tejun Heo <htejun@gmail.com>
To: Andrew Paprocki <andrew@ishiboo.com>
Cc: Bruce Allen <ballen@gravity.phys.uwm.edu>, linux-ide@vger.kernel.org
Subject: Re: smartd causing SATA timeouts on sleeping drives
Date: Thu, 11 Oct 2007 12:06:50 +0900	[thread overview]
Message-ID: <470D934A.9050207@gmail.com> (raw)
In-Reply-To: <76366b180710101946u1be1c30dqaaa3cb8c7260a0c9@mail.gmail.com>

Andrew Paprocki wrote:
> On 10/10/07, Tejun Heo <htejun@gmail.com> wrote:
>> Maybe what should be done is to track sleep mode in libata and issue
>> SRST automatically if a command is issued to a sleeping drive.  I'll
>> work on it.
> 
> Another tidbit of info.. I just went through the pain of tracking down
> everything in my system (system apps as well as my own code)
> responsible for waking up sleeping drives. My end goal was to make
> sure sleeping drives stayed asleep to reduce power consumption and
> wear due to unnecessary spin-ups. I'm sure distros targeting laptops
> or embedded systems that use live disks go through this pain
> frequently.
> 
> Would all SRST cmds sent from libata come from the ata_std_softreset()
> call? Could something like SystemTap be used without modifying libata
> to track all pids which cause that function to be called? If that
> would work, it could be an easy way to do what I did manually. That
> is, unless someone knows of an easier way that I'm overlooking.. :) I
> might give that a try to see if it works well and document the result.

All resets come from ata_eh_reset() and you can attach probes to it but
the problem is that you can't identify the cause this way.  libata EH
thread would always be the issuing thread.  I think the best way to
track this is to use blktrace and look at which processes issue what
requests.

-- 
tejun

  reply	other threads:[~2007-10-11  3:06 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-06  1:38 smartd causing SATA timeouts on sleeping drives Andrew Paprocki
2007-10-06 20:15 ` Tejun Heo
2007-10-08  5:51   ` Andrew Paprocki
2007-10-08  6:06     ` Tejun Heo
2007-10-08  6:32       ` Andrew Paprocki
2007-10-10 19:39         ` Bruce Allen
2007-10-11  2:02           ` Tejun Heo
2007-10-11  2:46             ` Andrew Paprocki
2007-10-11  3:06               ` Tejun Heo [this message]
2007-10-11  4:00             ` Andrew Paprocki
2007-10-12  9:15             ` [smartmontools-devel] " Bruce Allen
2007-10-10 19:42   ` Bruce Allen
2007-10-10 19:46 ` Bruce Allen

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=470D934A.9050207@gmail.com \
    --to=htejun@gmail.com \
    --cc=andrew@ishiboo.com \
    --cc=ballen@gravity.phys.uwm.edu \
    --cc=linux-ide@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 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.