On Thu, Aug 31, 2017 at 11:07:30PM +0000, Bart Van Assche wrote: > On Fri, 2017-09-01 at 01:27 +0800, Ming Lei wrote: > > Inside block layer, we need to support to allocate request with > > RQF_PREEMPT even though queue is frozen. > > Hello Ming, > > Can patch 8/9 be reworked such that it doesn't need the new > percpu_ref_is_dead() helper function, e.g. by checking q->mq_freeze_depth > to check whether or not request processing has been frozen? Have you noticed > that several blk-mq code paths already check q->mq_freeze_depth to check > whether or not a queue is frozen? Strictly speaking, that way is wrong, or at least one lock is required to check the counter, because the percpu-refcount isn't killed yet after the atomic counter is increased by 1. So I prefer to use this new helper. -- Ming