Re: [PATCH 4/6] blk-mq: make blk_abort_request() trigger timeout path

2017-12-14 Thread t...@kernel.org
Hello, On Thu, Dec 14, 2017 at 06:56:55PM +, Bart Van Assche wrote: > On Tue, 2017-12-12 at 11:01 -0800, Tejun Heo wrote: > > void blk_abort_request(struct request *req) > > { > > - if (blk_mark_rq_complete(req)) > > - return; > > > > if (req->q->mq_ops) { > > -

Re: [PATCH 4/6] blk-mq: make blk_abort_request() trigger timeout path

2017-12-14 Thread t...@kernel.org
Hello, On Thu, Dec 14, 2017 at 06:56:55PM +, Bart Van Assche wrote: > On Tue, 2017-12-12 at 11:01 -0800, Tejun Heo wrote: > > void blk_abort_request(struct request *req) > > { > > - if (blk_mark_rq_complete(req)) > > - return; > > > > if (req->q->mq_ops) { > > -

Re: [PATCH 4/6] blk-mq: make blk_abort_request() trigger timeout path

2017-12-14 Thread Bart Van Assche
On Tue, 2017-12-12 at 11:01 -0800, Tejun Heo wrote: > void blk_abort_request(struct request *req) > { > - if (blk_mark_rq_complete(req)) > - return; > > if (req->q->mq_ops) { > - blk_mq_rq_timed_out(req, false); > + req->deadline = jiffies; > +

Re: [PATCH 4/6] blk-mq: make blk_abort_request() trigger timeout path

2017-12-14 Thread Bart Van Assche
On Tue, 2017-12-12 at 11:01 -0800, Tejun Heo wrote: > void blk_abort_request(struct request *req) > { > - if (blk_mark_rq_complete(req)) > - return; > > if (req->q->mq_ops) { > - blk_mq_rq_timed_out(req, false); > + req->deadline = jiffies; > +

[PATCH 4/6] blk-mq: make blk_abort_request() trigger timeout path

2017-12-12 Thread Tejun Heo
With issue/complete and timeout paths now using the generation number and state based synchronization, blk_abort_request() is the only one which depends on REQ_ATOM_COMPLETE for arbitrating completion. There's no reason for blk_abort_request() to be a completely separate path. This patch makes

[PATCH 4/6] blk-mq: make blk_abort_request() trigger timeout path

2017-12-12 Thread Tejun Heo
With issue/complete and timeout paths now using the generation number and state based synchronization, blk_abort_request() is the only one which depends on REQ_ATOM_COMPLETE for arbitrating completion. There's no reason for blk_abort_request() to be a completely separate path. This patch makes

[PATCH 4/6] blk-mq: make blk_abort_request() trigger timeout path

2017-12-09 Thread Tejun Heo
With issue/complete and timeout paths now using the generation number and state based synchronization, blk_abort_request() is the only one which depends on REQ_ATOM_COMPLETE for arbitrating completion. There's no reason for blk_abort_request() to be a completely separate path. This patch makes

[PATCH 4/6] blk-mq: make blk_abort_request() trigger timeout path

2017-12-09 Thread Tejun Heo
With issue/complete and timeout paths now using the generation number and state based synchronization, blk_abort_request() is the only one which depends on REQ_ATOM_COMPLETE for arbitrating completion. There's no reason for blk_abort_request() to be a completely separate path. This patch makes