Re: [PATCH] scsi: sd: add runtime pm to open / release

From: Martin Kepplinger
Date: Tue Jul 28 2020 - 03:03:24 EST


On 06.07.20 18:41, Alan Stern wrote:
> On Tue, Jun 30, 2020 at 20:49:58PM -0400, Alan Stern wrote:
>> On Tue, Jun 30, 2020 at 04:31:58PM -0700, Bart Van Assche wrote:
>>> On 2020-06-30 12:38, Alan Stern wrote:
>>>> Assume that BLK_MQ_REQ_PREEMPT is set in flags. Then where exactly
>>>> does blk_queue_enter(q, flags) call blk_pm_request_resume(q)?
>>>
>>> Please take a look at how the *current* implementation of runtime power
>>> management works. Your question is relevant for the old implementation
>>> of runtime power management but not for the current implementation.
>>
>> What do you mean by "current"? I have been looking at the implementation
>> in 5.8-rc3 from Linus's tree. Should I look somewhere else?
>
> Any reply to this, or further concerns about the proposed patch?
>
> I'd like to fix up this API, and it appears that you are the only
> person to have worked on it significantly in the last two years.
>
> Alan Stern
>

Hi Alan,

Any API cleanup is of course welcome. I just wanted to remind you that
the underlying problem: broken block device runtime pm. Your initial
proposed fix "almost" did it and mounting works but during file access,
it still just looks like a runtime_resume is missing somewhere.

As we need to have that working at some point, I might look into it, but
someone who has experience in the block layer can surely do it more
efficiently.

to test, turn off polling:
echo 0 > /sys/module/block/parameters/events_dfl_poll_msecs

and enable runtime pm in your (scsi) device: power/autosuspend_delay_ms
and of course power/control (set to auto).

thanks,
martin