Re: [RFC PATCH 3/3] blk-mq: Remove generation seqeunce
From: Ming Lei <hidden>
Date: 2018-05-22 03:47:28
Also in:
linux-nvme
From: Ming Lei <hidden>
Date: 2018-05-22 03:47:28
Also in:
linux-nvme
On Mon, May 21, 2018 at 09:16:33PM -0600, Jens Axboe wrote:
On 5/21/18 8:49 PM, Ming Lei wrote:quoted
On Mon, May 21, 2018 at 05:11:31PM -0600, Keith Busch wrote:quoted
This patch simplifies the timeout handling by relying on the request reference counting to ensure the iterator is operating on an inflightThe reference counting isn't free, what is the real benefit in this way?Neither is the current scheme and locking, and this is a hell of a lot simpler. I'd get rid of the kref stuff and just do a simple atomic_dec_and_test(). Most of the time we should be uncontended on that, which would make it pretty darn cheap. I'd be surprised if it wasn't better than the current alternatives.
The explicit memory barriers by atomic_dec_and_test() isn't free. Also the double completion issue need to be fixed before discussing this approach further. Thanks, Ming