On Mon, Jun 04, 2018 at 06:56:22AM +0000, Bart Van Assche wrote: > Can you explain why you prefer this approach? I think this patch introduces > more new atomic operations in the hot path than the approach I had proposed > ("blk-mq: Rework blk-mq timeout handling again"). In other words, I think the > patch that I had proposed will yield better performance. Primarily because the generation counter is fundamentally the wrong thing to do. If we know the tag has some pending action on it we should not reuse it insted of working around races that stem from the fact that we reuse it. We can look at the performance numbers and tune as needed, but for now we need to get the high level approach right first. I think once we've done a proper audit of the SCSI EH code and blk_abort_request users we can probably drop the cmpxchg and only have a single atomic_dec_and_test left, which in terms of atomic operations isn't the world.