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

Lin Ming
2012-05-24T10:19:39Z

On Mon, May 21, 2012 at 11:14 PM, Lin Ming <ming.m.lin@intel.com> 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.

Just found that it's because "printk".

When disk is suspended, it prints out some message, for example,

[ 670.597103] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[ 670.597827] sd 0:0:0:0: [sda] Stopping disk

Then syslogd is waken up to write the log.
So disk is resumed right after suspended.

Lin Ming

>
> I'm not familiar with journal.
> Are the journal threads still need to be in active state when the disk
> is already suspended?
>
>>
>> Alan Stern