Re: [PATCH 0/7] blk-mq: fix queue quiescing

2017-05-25 Thread Ming Lei
On Thu, May 25, 2017 at 11:42:59AM -0600, Jens Axboe wrote: > On 05/25/2017 11:24 AM, Bart Van Assche wrote: > > On Thu, 2017-05-25 at 17:09 +0800, Ming Lei wrote: > >> Another big issue is that 'srcu_struct' is very big, which shouldn't > >> be embedded into hctx, since we only have one real user

Re: [PATCH 0/7] blk-mq: fix queue quiescing

2017-05-25 Thread Bart Van Assche
On Thu, 2017-05-25 at 11:42 -0600, Jens Axboe wrote: > Why not make it > > /* Must be the last member - see also blk_mq_hw_ctx_size(). */ > struct srcu_struct queue_rq_srcu[0]; > > and fixup blk_mq_hw_ctx_size() > > static int blk_mq_hw_ctx_size(struct request_queue *q) > { >

Re: [PATCH 0/7] blk-mq: fix queue quiescing

2017-05-25 Thread Jens Axboe
On 05/25/2017 11:24 AM, Bart Van Assche wrote: > On Thu, 2017-05-25 at 17:09 +0800, Ming Lei wrote: >> Another big issue is that 'srcu_struct' is very big, which shouldn't >> be embedded into hctx, since we only have one real user of >> BLK_MQ_F_BLOCKING. >> >> So I will fix that too. > > Hello

Re: [PATCH 0/7] blk-mq: fix queue quiescing

2017-05-25 Thread Jens Axboe
On 05/25/2017 11:24 AM, Bart Van Assche wrote: > On Thu, 2017-05-25 at 17:09 +0800, Ming Lei wrote: >> Another big issue is that 'srcu_struct' is very big, which shouldn't >> be embedded into hctx, since we only have one real user of >> BLK_MQ_F_BLOCKING. >> >> So I will fix that too. > > Hello

Re: [PATCH 0/7] blk-mq: fix queue quiescing

2017-05-25 Thread Bart Van Assche
On Thu, 2017-05-25 at 17:09 +0800, Ming Lei wrote: > Another big issue is that 'srcu_struct' is very big, which shouldn't > be embedded into hctx, since we only have one real user of > BLK_MQ_F_BLOCKING. > > So I will fix that too. Hello Ming, Is something like the (untested) patch below

Re: [PATCH 0/7] blk-mq: fix queue quiescing

2017-05-25 Thread Ming Lei
On Thu, May 25, 2017 at 05:24:54AM +, Bart Van Assche wrote: > On Thu, 2017-05-25 at 12:21 +0800, Ming Lei wrote: > > One big problem of blk_mq_quiesce_queue() is that it > > can't prevent .queue_rq() in direct issue path from > > being run even though hw queues are stopped by > >

Re: [PATCH 0/7] blk-mq: fix queue quiescing

2017-05-24 Thread Bart Van Assche
On Thu, 2017-05-25 at 12:21 +0800, Ming Lei wrote: > One big problem of blk_mq_quiesce_queue() is that it > can't prevent .queue_rq() in direct issue path from > being run even though hw queues are stopped by > blk_mq_quiesce_queue(). That's wrong. All what's needed to prevent that