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 <[email protected]>

> Signed-off-by: Jens Axboe <[email protected]>
> ---
>  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 [email protected]
> 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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to