Re: [PATCH] block: mq flush: fix race between IPI handler and mq flush worker

From: Jens Axboe
Date: Tue May 27 2014 - 14:54:30 EST


On 2014-05-27 12:53, Christoph Hellwig wrote:
On Tue, May 27, 2014 at 12:38:15PM -0600, Jens Axboe wrote:
On 2014-05-27 12:13, Christoph Hellwig wrote:
Here is my counter proposal that requeues via two lists and a work struct
in the request_queue. I've also tested it with scsi-mq.


I like this, moves the state out of the request. But how about we
consolidate the two requeue requests lists, and just mark the request as
needing head insertion instead? Just add a cmd_flags flag, REQ_REQUEUE_HEAD
or something.

That should be doable, just didn't like introducing even more flags.

Space is plenty big again now... The down side is that the splice trick wont work, but if we have more than a few requests on the requeue list, we're doing it wrong anyway.

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/