linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Todd E Brandt <todd.e.brandt@linux.intel.com>
To: Tejun Heo <tj@kernel.org>
Cc: Gwendal Grignou <gwendal@google.com>,
	Jej B <James.Bottomley@hansenpartnership.com>,
	IDE/ATA development list <linux-ide@vger.kernel.org>,
	linux-scsi@vger.kernel.org
Subject: Re: [PATCH/RESEND v2 0/2] Hard disk S3 resume time optimization
Date: Tue, 14 Jan 2014 13:45:03 -0800	[thread overview]
Message-ID: <20140114214503.GA1260@linux.intel.com> (raw)
In-Reply-To: <20140114144325.GC12131@htj.dyndns.org>

On Tue, Jan 14, 2014 at 09:43:25AM -0500, Tejun Heo wrote:
> Hello, Gwendal.
> 
> On Mon, Jan 13, 2014 at 04:36:52PM -0800, Gwendal Grignou wrote:
> > Won't this patch defeat staggered spinup at resume? If you have a jbod
> > with a smallish power supply, with a 12V rail designed for the steady
> > state and 1 or 2 devices spinning up at once, you may be in trouble
> > when all the disks will want to spinup in same second.
> 
> Yeah, I think it would.  We never fully solved the staggered spinup
> problem and it probably is too late to invest into proper mechanism
> for that.  I think an easy workaround would be, say, have a kernel
> param which limits the max number of concurrent async wakeups and set
> the value to something reasonable - say, 2, which should give us most
> of benefits of async wakeup in vast majority of cases while avoiding
> blowing up PSUs on larger setups.

Does my patch actually have any affect on staggered spinup? I see that when
the HOST_CAP_SSS flag is detected it causes a PORT_CMD_SPIN_UP to be issued
during each port's resume. But the port resume calls themselves appear to
always be asynchronous, regardless of my patch's changes. (The ata_port
devices all have their power.async_suspend flags set, so the dpm_resume
call issues them all in parallel) So as far as I can tell I don't think 
I'm causing any harm.

I do see how my patch might hinder future attempts at staggered resume
handling, since it would effectively render the power.async_suspend flag
useless. Would it be wise for ata_port_resume to check the ata_port's 
power.async_suspend flag and only use asynchronous ata_port_request_pm 
if it's enabled?

> 
> Thanks.
> 
> -- 
> tejun

  reply	other threads:[~2014-01-14 21:45 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-08  0:55 [PATCH/RESEND v2 0/2] Hard disk S3 resume time optimization Todd E Brandt
2014-01-14  0:36 ` Gwendal Grignou
2014-01-14 14:43   ` Tejun Heo
2014-01-14 21:45     ` Todd E Brandt [this message]
2014-01-16 22:43       ` Gwendal Grignou

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=20140114214503.GA1260@linux.intel.com \
    --to=todd.e.brandt@linux.intel.com \
    --cc=James.Bottomley@hansenpartnership.com \
    --cc=gwendal@google.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=tj@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).