Messages in this thread | | | Subject | Re: [PATCH 2/3] blk-core: introduce queue close feature | From | "jianchao.wang" <> | Date | Thu, 6 Sep 2018 09:31:06 +0800 |
| |
Hi Bart
On 09/05/2018 11:57 PM, Bart Van Assche wrote: > On Wed, 2018-09-05 at 12:09 +0800, Jianchao Wang wrote: >> blk queue freeze is often used to prevent new IO from entering >> request queue. However, becuase we kill the percpu-ref >> q_usage_counter when freeze queue, we have to drain the request >> queue when unfreeze. This is unnecessary for just preventing new >> IO. In addition, If there is IO timeout or other issue when unfreeze >> the queue, the scenario could be very tricky. >> >> So we introduce BLK_QUEUE_GATE_CLOSED to implement a light-weight >> queue close feature base on the queue_gate to prevent new IO from >> comming in queue which will not need to drain the queue any more. > > Does the "queue gate close" feature cause blk_get_request() / > blk_mq_get_request() to block until blk_clear_queue_closed() is called?
Yes. It works in blk_queue_enter. So it could cover blk_mq_get_request
If > so, I think we need a better name for this feature. How about calling these > two operations suspend and resume?
I'm open for it. :)
> > Thanks, > > Bart. >
| |