On Thu, Jan 26, 2017 at 12:48:17PM -0700, Jens Axboe wrote: > If we have both multiple hardware queues and shared tag map between > devices, we need to ensure that we propagate the hardware queue > restart bit higher up. This is because we can get into a situation > where we don't have any IO pending on a hardware queue, yet we fail > getting a tag to start new IO. If that happens, it's not enough to > mark the hardware queue as needing a restart, we need to bubble > that up to the higher level queue as well. One minor nit below. Otherwise, makes sense. Reviewed-by: Omar Sandoval <osandov@xxxxxx> > Signed-off-by: Jens Axboe <axboe@xxxxxx> > --- > block/blk-mq-sched.c | 28 ++++++++++++++++++++++++++++ > block/blk-mq-sched.h | 15 +++++++++------ > block/blk-mq.c | 3 ++- > block/blk-mq.h | 1 + > include/linux/blkdev.h | 1 + > 5 files changed, 41 insertions(+), 7 deletions(-) > diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h > index 25564857f5f8..73bcd201a9b7 100644 > --- a/include/linux/blkdev.h > +++ b/include/linux/blkdev.h > @@ -602,6 +602,7 @@ struct request_queue { > #define QUEUE_FLAG_FLUSH_NQ 25 /* flush not queueuable */ > #define QUEUE_FLAG_DAX 26 /* device supports DAX */ > #define QUEUE_FLAG_STATS 27 /* track rq completion times */ > +#define QUEUE_FLAG_RESTART 28 All of the other queue flags have a comment, could you add one here, too? > #define QUEUE_FLAG_DEFAULT ((1 << QUEUE_FLAG_IO_STAT) | \ > (1 << QUEUE_FLAG_STACKABLE) | \ > -- > 2.7.4 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-block" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html