Re: [RFC v2 PATCH 2/4] block: add queue runtime pm callbacks

Alan Stern
2012-05-21T18:33:03Z

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: TEXT/PLAIN; charset=UTF-8, Size: 1275 bytes --]

On Mon, 21 May 2012, Lin Ming wrote:

> On Mon, May 21, 2012 at 11:00 PM, Alan Stern <stern@rowland.harvard.edu> wrote:
> > On Mon, 21 May 2012, Lin Ming wrote:
> >
> >> On Fri, May 18, 2012 at 2:29 AM, Alan Stern <stern@rowland.harvard.edu> wrote:
> >> [snip]
> >> > I may have left some parts out from this brief description.  Hopefully
> >> > you'll be able to figure out the general idea and get it to work.
> >>
> >> All journal threads and flusher thread of the disk need to be freezed
> >> before suspend and thaw after resume.
> >
> > Why?  If any of those threads needs to write something to the disk
> > while the disk is suspended, the disk will simply be resumed.
>
> When tested the patches, I found that kjournald and flusher thread
> frequently resume the disk.
>
> I'm not familiar with journal.
> Are the journal threads still need to be in active state when the disk
> is already suspended?

I don't know the answers. Maybe Jens can tell us.

Ideally, a rotating disk wouldn't be suspended unless all the dirty
blocks were already flushed and the journal was up-to-date. For an
SSD, frequently suspending and resuming doesn't matter quite so much.
This may come down to a matter of setting the right value for the
autosuspend timeout.

Alan Stern