[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140917164850.GB18472@lst.de>
Date: Wed, 17 Sep 2014 18:48:50 +0200
From: Christoph Hellwig <hch@....de>
To: Ming Lei <ming.lei@...onical.com>
Cc: Jens Axboe <axboe@...nel.dk>, linux-kernel@...r.kernel.org,
Christoph Hellwig <hch@....de>,
Ming Lei <ming.lei@...oical.com>
Subject: Re: [PATCH 2/2] blk-mq: remove unnecessary blk_clear_rq_complete()
On Wed, Sep 17, 2014 at 05:47:58PM +0800, Ming Lei wrote:
> From: Ming Lei <ming.lei@...oical.com>
>
> This patch removes two unnecessary blk_clear_rq_complete(),
> the REQ_ATOM_COMPLETE flag is cleared inside blk_mq_start_request(),
> so:
>
> - The blk_clear_rq_complete() in blk_flush_restore_request()
> needn't because the request will be freed later, and clearing
> it here may open a small race window with timeout.
This one is defintively correct, blk_mq_end_io should take care of this.
> - The blk_clear_rq_complete() in blk_mq_requeue_request() isn't
> necessary too, even though REQ_ATOM_STARTED is cleared in
> __blk_mq_requeue_request(), in theory it still may cause a small
> race window with timeout since the two clear_bit() may be
> reordered.
Why yo you think it's not nessecary? The request is not in the drivers
hand at this point, so it should not be marked started. Maybe I'm missing
something, but this sounds like it could very likely cause regressions.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists