Re: [PATCH 4/9] blk-mq: Add blk_mq_tag_resize_sched_shared_sbitmap()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jul 14, 2021 at 11:06:30PM +0800, John Garry wrote:
> Put the functionality to resize the sched shared sbitmap in a common
> function.
> 
> Since the same formula is always used to resize, and it can be got from
> the request queue argument, so just pass the request queue pointer.
> 
> Signed-off-by: John Garry <john.garry@xxxxxxxxxx>
> ---
>  block/blk-mq-sched.c |  3 +--
>  block/blk-mq-tag.c   | 10 ++++++++++
>  block/blk-mq-tag.h   |  1 +
>  block/blk-mq.c       |  3 +--
>  4 files changed, 13 insertions(+), 4 deletions(-)
> 
> diff --git a/block/blk-mq-sched.c b/block/blk-mq-sched.c
> index f5cb2931c20d..1e028183557d 100644
> --- a/block/blk-mq-sched.c
> +++ b/block/blk-mq-sched.c
> @@ -584,8 +584,7 @@ static int blk_mq_init_sched_shared_sbitmap(struct request_queue *queue)
>  					&queue->sched_breserved_tags;
>  	}
>  
> -	sbitmap_queue_resize(&queue->sched_bitmap_tags,
> -			     queue->nr_requests - set->reserved_tags);
> +	blk_mq_tag_resize_sched_shared_sbitmap(queue);
>  
>  	return 0;
>  }
> diff --git a/block/blk-mq-tag.c b/block/blk-mq-tag.c
> index 86f87346232a..55c7f1bf41c7 100644
> --- a/block/blk-mq-tag.c
> +++ b/block/blk-mq-tag.c
> @@ -634,6 +634,16 @@ void blk_mq_tag_resize_shared_sbitmap(struct blk_mq_tag_set *set, unsigned int s
>  	sbitmap_queue_resize(&set->__bitmap_tags, size - set->reserved_tags);
>  }
>  
> +/*
> + * We always resize with q->nr_requests - q->tag_set->reserved_tags, so
> + * don't bother passing a size.
> + */
> +void blk_mq_tag_resize_sched_shared_sbitmap(struct request_queue *q)
> +{
> +	sbitmap_queue_resize(&q->sched_bitmap_tags,
> +			     q->nr_requests - q->tag_set->reserved_tags);
> +}

It is a bit hard to follow the resize part of the name, since no size
parameter passed in. Maybe update is better?

-- 
Ming




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux