Thread (10 messages) 10 messages, 4 authors, 2018-07-19

Re: [PATCH 2/3] block, scsi: Rework runtime power management

From: Ming Lei <hidden>
Date: 2018-07-19 23:26:51

On Thu, Jul 19, 2018 at 03:54:53PM +0000, Bart Van Assche wrote:
On Thu, 2018-07-19 at 06:45 +0800, Ming Lei wrote:
quoted
So once blk_freeze_queue_start() returns, percpu_ref_is_zero() won't
return true only until the rcu confirmation is done. That means this
approach may not put device down.
Hello Ming,

I agree with your conclusion that it is not guaranteed that q->q_usage_counter
is in atomic mode when percpu_ref_is_zero() is called. However, I think that's
fine: if blk_pre_runtime_suspend() returns -EBUSY then the runtime core will
try again at a later time to perform runtime suspend.
This behaviour should be persistent in next retry since percpu_ref_is_zero()
should always return false after blk_freeze_queue_start() is run on one
un-frozen queue.

Thanks,
Ming
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help