All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Oliver Neukum <oliver@neukum.org>,
	"Salyzyn, Mark" <mark_salyzyn@adaptec.com>,
	Matthew Wilcox <matthew@wil.cx>,
	Oliver Neukum <oliver@neukum.name>,
	SCSI development list <linux-scsi@vger.kernel.org>
Subject: Re: SCSI dynamic power management
Date: Tue, 20 Nov 2007 10:15:33 -0600	[thread overview]
Message-ID: <1195575333.3131.37.camel@localhost.localdomain> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0711201053550.3931-100000@iolanthe.rowland.org>


On Tue, 2007-11-20 at 11:02 -0500, Alan Stern wrote:
> On Tue, 20 Nov 2007, James Bottomley wrote:
> 
> > I don't really know ... I don't have a clear idea of what you're trying
> > to do.  I know Alan said it was something simple, but from what you're
> > saying it sounds like you need a full blown power management
> > infrastructure in all three places.
> 
> Basically that's right.
> 
> The higher-level drivers already have some PM infrastructure; all we
> would have to add would be idle-timeout detection.  The midlayer has to
> be involved in order to coordinate between the high-level and the
> low-level drivers.  The key addition is to get the low-level drivers 
> involved.
> 
> The main point I'm aiming for is to have the midlayer to inform the LLD 
> when all the devices on a particular bus are "idle".

This is the wrong assumption ... the mid layer would provide an API to
inform the transport.  Transport and host are separate things.  an 8
port SAS card could suspend a single phy and device while still
processing the others.  So what it sounds like you need is a transport
API saying a given device has been suspended or is requested to be
resumed?  What than means for the host would be transport class policy,
I think.

>   At that point the 
> LLD is free to suspend or power down the transport.  Conversely, if the 
> transport is suspended and an I/O request arrives, the LLD has to be 
> told to reactivate the transport.  Without some such form of 
> communication, there's no way to know when the tranport can safely be 
> suspended.
> 
> Does that clarify things?

A little ... I think your wake on command idea above is policy rather
than actual implementation ... so it would probably have to be
selectable (either error or wake).

James



  reply	other threads:[~2007-11-20 16:15 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-19 15:36 SCSI dynamic power management Alan Stern
2007-11-19 15:46 ` Matthew Wilcox
2007-11-19 15:57   ` Alan Stern
2007-11-19 16:14     ` Salyzyn, Mark
2007-11-19 16:46       ` Alan Stern
2007-11-19 16:53         ` James Bottomley
2007-11-19 19:16           ` Alan Stern
2007-11-19 19:18             ` Matthew Wilcox
2007-11-19 19:48               ` Alan Stern
2007-11-20 14:53             ` James Bottomley
2007-11-20 15:07               ` Oliver Neukum
2007-11-20 15:21                 ` James Bottomley
2007-11-20 15:36                   ` Oliver Neukum
2007-11-20 15:42                     ` James Bottomley
2007-11-20 16:02                       ` Alan Stern
2007-11-20 16:15                         ` James Bottomley [this message]
2007-11-20 19:03                           ` Alan Stern
2007-11-21 12:56     ` Jens Axboe
2007-11-20 14:38 ` Douglas Gilbert
2007-11-20 15:49   ` Alan Stern
     [not found] <4741AFEA.8000408@emulex.com>
2007-11-19 16:00 ` Alan Stern

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=1195575333.3131.37.camel@localhost.localdomain \
    --to=james.bottomley@hansenpartnership.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=mark_salyzyn@adaptec.com \
    --cc=matthew@wil.cx \
    --cc=oliver@neukum.name \
    --cc=oliver@neukum.org \
    --cc=stern@rowland.harvard.edu \
    /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.