From: Jens Axboe <axboe@kernel.dk>
To: John Garry <john.garry@huawei.com>
Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org,
ming.lei@redhat.com, hare@suse.de, linux-scsi@vger.kernel.org,
kashyap.desai@broadcom.com
Subject: Re: [PATCH v5 00/14] blk-mq: Reduce static requests memory footprint for shared sbitmap
Date: Tue, 5 Oct 2021 06:35:52 -0600 [thread overview]
Message-ID: <ae33dde8-96e8-2978-5f32-c7e0a6136e8e@kernel.dk> (raw)
In-Reply-To: <1633429419-228500-1-git-send-email-john.garry@huawei.com>
On 10/5/21 4:23 AM, John Garry wrote:
> Currently a full set of static requests are allocated per hw queue per
> tagset when shared sbitmap is used.
>
> However, only tagset->queue_depth number of requests may be active at
> any given time. As such, only tagset->queue_depth number of static
> requests are required.
>
> The same goes for using an IO scheduler, which allocates a full set of
> static requests per hw queue per request queue.
>
> This series changes shared sbitmap support by using a shared tags per
> tagset and request queue. Ming suggested something along those lines in
> v1 review. In using a shared tags, the static rqs also become shared,
> reducing the number of sets of static rqs, reducing memory usage.
>
> Patch "blk-mq: Use shared tags for shared sbitmap support" is a bit big,
> and could potentially be broken down. But then maintaining ability to
> bisect becomes harder and each sub-patch would get more convoluted.
>
> For megaraid sas driver on my 128-CPU arm64 system with 1x SATA disk, we
> save approx. 300MB(!) [370MB -> 60MB]
>
> Baseline is 1b2d1439fc25 (block/for-next) Merge branch 'for-5.16/io_uring'
> into for-next
Let's get this queued up for testing, thanks John.
--
Jens Axboe
next prev parent reply other threads:[~2021-10-05 12:37 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-05 10:23 [PATCH v5 00/14] blk-mq: Reduce static requests memory footprint for shared sbitmap John Garry
2021-10-05 10:23 ` [PATCH v5 01/14] blk-mq: Change rqs check in blk_mq_free_rqs() John Garry
2021-10-05 10:23 ` [PATCH v5 02/14] block: Rename BLKDEV_MAX_RQ -> BLKDEV_DEFAULT_RQ John Garry
2021-10-05 10:23 ` [PATCH v5 03/14] blk-mq: Relocate shared sbitmap resize in blk_mq_update_nr_requests() John Garry
2021-10-05 10:23 ` [PATCH v5 04/14] blk-mq: Invert check " John Garry
2021-10-05 10:23 ` [PATCH v5 05/14] blk-mq-sched: Rename blk_mq_sched_alloc_{tags -> map_and_rqs}() John Garry
2021-10-05 10:23 ` [PATCH v5 06/14] blk-mq-sched: Rename blk_mq_sched_free_{requests -> rqs}() John Garry
2021-10-05 10:23 ` [PATCH v5 07/14] blk-mq: Pass driver tags to blk_mq_clear_rq_mapping() John Garry
2021-10-05 10:23 ` [PATCH v5 08/14] blk-mq: Don't clear driver tags own mapping John Garry
2021-10-05 10:23 ` [PATCH v5 09/14] blk-mq: Add blk_mq_tag_update_sched_shared_sbitmap() John Garry
2021-10-05 10:23 ` [PATCH v5 10/14] blk-mq: Add blk_mq_alloc_map_and_rqs() John Garry
2021-10-05 10:23 ` [PATCH v5 11/14] blk-mq: Refactor and rename blk_mq_free_map_and_{requests->rqs}() John Garry
2021-10-05 10:23 ` [PATCH v5 12/14] blk-mq: Use shared tags for shared sbitmap support John Garry
2021-10-05 10:23 ` [PATCH v5 13/14] blk-mq: Stop using pointers for blk_mq_tags bitmap tags John Garry
2021-10-05 10:23 ` [PATCH v5 14/14] blk-mq: Change shared sbitmap naming to shared tags John Garry
2021-10-05 12:35 ` Jens Axboe [this message]
2021-10-05 13:34 ` [PATCH v5 00/14] blk-mq: Reduce static requests memory footprint for shared sbitmap John Garry
2021-10-05 13:53 ` Kashyap Desai
2021-10-05 16:23 ` Jens Axboe
2021-10-07 20:31 ` Kashyap Desai
2021-10-08 3:11 ` Bart Van Assche
2021-10-08 8:07 ` John Garry
2021-10-08 10:17 ` John Garry
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ae33dde8-96e8-2978-5f32-c7e0a6136e8e@kernel.dk \
--to=axboe@kernel.dk \
--cc=hare@suse.de \
--cc=john.garry@huawei.com \
--cc=kashyap.desai@broadcom.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=ming.lei@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).