Re: [PATCH 1/9] blk-mq: don't call into depth limiting for reserved tags

2018-05-10 Thread Omar Sandoval
On Thu, May 10, 2018 at 10:24:19AM -0600, Jens Axboe wrote:
> It's not useful, they are internal and/or error handling recovery
> commands.
> 
> Acked-by: Paolo Valente 

Reviewed-by: Omar Sandoval 

> Signed-off-by: Jens Axboe 
> ---
>  block/blk-mq.c | 6 --
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/block/blk-mq.c b/block/blk-mq.c
> index 4e9d83594cca..64630caaf27e 100644
> --- a/block/blk-mq.c
> +++ b/block/blk-mq.c
> @@ -360,9 +360,11 @@ static struct request *blk_mq_get_request(struct 
> request_queue *q,
>  
>   /*
>* Flush requests are special and go directly to the
> -  * dispatch list.
> +  * dispatch list. Don't include reserved tags in the
> +  * limiting, as it isn't useful.
>*/
> - if (!op_is_flush(op) && e->type->ops.mq.limit_depth)
> + if (!op_is_flush(op) && e->type->ops.mq.limit_depth &&
> + !(data->flags & BLK_MQ_REQ_RESERVED))
>   e->type->ops.mq.limit_depth(op, data);
>   }
>  
> -- 
> 2.7.4
> 


[PATCH 1/9] blk-mq: don't call into depth limiting for reserved tags

2018-05-10 Thread Jens Axboe
It's not useful, they are internal and/or error handling recovery
commands.

Acked-by: Paolo Valente 
Signed-off-by: Jens Axboe 
---
 block/blk-mq.c | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/block/blk-mq.c b/block/blk-mq.c
index 4e9d83594cca..64630caaf27e 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -360,9 +360,11 @@ static struct request *blk_mq_get_request(struct 
request_queue *q,
 
/*
 * Flush requests are special and go directly to the
-* dispatch list.
+* dispatch list. Don't include reserved tags in the
+* limiting, as it isn't useful.
 */
-   if (!op_is_flush(op) && e->type->ops.mq.limit_depth)
+   if (!op_is_flush(op) && e->type->ops.mq.limit_depth &&
+   !(data->flags & BLK_MQ_REQ_RESERVED))
e->type->ops.mq.limit_depth(op, data);
}
 
-- 
2.7.4