Re: [PATCH] block: Fix bug in runtime-resume handling

Martin Kepplinger
2020-08-26T07:48:50Z

On 24.08.20 22:13, Alan Stern wrote:
> On Mon, Aug 24, 2020 at 10:48:32AM -0700, Bart Van Assche wrote:
>> On 2020-08-23 07:57, Alan Stern wrote:
>>> The problem is fixed by checking that the queue's runtime-PM status
>>> isn't RPM_SUSPENDED before allowing a request to be issued, [ ... ]
>>
>> Reviewed-by: Bart Van Assche <bvanassche@acm.org>
>>
>> Can, can you help with testing this patch?
>>
>> Thanks,
>>
>> Bart.
>
> Martin:
>
> (I forgot to ask this question several weeks ago, while you were running
> your tests. Better ask it now before I forget again...)
>
> I suspect the old runtime-PM code in the block layer would have worked
> okay in your SD cardreader test if the BLK_MQ_REQ_PREEMPT flag had not
> been set. Do you know why the flag was set, or what line of code caused
> it to be set?

Correct. if not set, I could handle all I need in the scsi error path.

>
> As I recall, the request that failed was a read-ahead. It's not clear
> to me why such a request would need to have BLK_MQ_REQ_PREEMPT set.
> Although there may be other reasons for having that flag, at this point
> we're concerned with requests that are part of the runtime-resume
> procedure. A read-ahead does not fall into that category.
>
> Do you think you can find the answer? Perhaps we should add a separate
> BLK_MQ_REQ_PM flag.

I guess I can but give me some time as I'm on vacations currently.

>
> Alan Stern
>